在创建 iOS 应用程序以在 /var/mobile/script.sh 运行指定脚本时,我将不胜感激。我编写的脚本在我越狱的 6.1.2 iphone 上“一次”打开了许多指定的应用程序。目前我通过启动 MobileTerminal 并从命令行手动运行 script.sh 文件来运行脚本。我希望能够创建一个可以通过 Springboard 启动的应用程序,它可以直接运行 /var/mobile/script.sh。
我没有 Mac,所以我无法自己编译应用程序。我也没有太多编程经验,因此我将不胜感激。我看到了一个类似的答案:iOS execute shell script from Activator
上面提供的答案非常接近我正在寻找的答案。但是,我对 Script.app 有两个问题:
1)由于我编写的脚本打开了许多其他应用程序,大约需要两分钟才能完成,因此 Script.app 在大约 20 秒后被 iOS 自动杀死。我不确定是否需要设置标志“didFinishLaunchingWithOptions”以允许 Script.app 继续运行,以便它可以完成运行我的脚本?我已经通过 Cydia 安装了一个名为“Background Manager”的包 - [据我了解,它使所有应用程序有效地认为它们正在前台运行]。
2) 我之前在 iOS 5 上测试过上面列出的 Script.app,并且 Script.app 确实运行了大约 20 秒,将应用程序带到了我的 script.sh 中列出的前台。在 iOS 6.1.2 上,Script.app 运行 script.sh 中的某些命令 [例如 killall 命令],但是当通过脚本打开指定的应用程序时,它不会打开任何应用程序 [有 20 秒的空白黑屏然后脚本应用程序在没有通过 script.sh 文件打开任何应用程序的情况下关闭]。但是在 iOS 6.1.2 中,如果 Script.app 启动并立即按下主页按钮以返回 Springboard,则 Script.app 将在前 20 秒内通过我的 script.sh 打开应用程序,因此似乎有所不同Script.app 在 iOS5 和 iOS6 上的运行方式之间。我想如果 Script.app 可以通过脚本打开应用程序。
在我的脚本文件中,我使用一个名为“open”的命令行包来指定通过其 CFBundleIdentifier 打开哪个应用程序:http ://moreinfo.thebigboss.org/moreinfo/depiction.php?file=openData
谢谢你的帮助