我正在博物馆展览中使用一些iPad,运行由他人开发的应用程序。尽管我们已经覆盖了主页按钮,但我发现应用程序偶尔崩溃,使用户处于主屏幕。从这里他们可以访问其他未经授权的应用
博物馆不反对越狱iPad,如果这将为我们提供我们需要的解决方案,所以我一直在研究使用带有KeepAlive标签的launchd并将.plist文件放入/ Library /的想法LaunchAgents目录,以防止应用程序关闭或重新生成它,如果它崩溃
到目前为止,我已经成功地使用iPad附带的默认应用程序以及Cydia安装的应用程序,但我无法让它重新启动我们想要的应用程序。我已经从/ User / Applications目录和/ Applications中尝试过它,有人建议可能会有所作为,但没有乐趣。有人可以建议一个可能的解决方案,还是我在浪费时间?我从下面的plist文件中插入了XML。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.MVFieldguide.launchd</string>
<key>ProgramArguments</key>
<array>
<string>/Applications/Field Guide 2010.app/Field Guide 2010</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<dict>
<key>SuccessfulExit</key>
<true/>
</dict>
答案 0 :(得分:3)
这不起作用,因为App Store应用程序未保存在Applications文件夹中。我可以想到两个选择。
在Cydia中安装AppLinks。这将创建每个App Store应用程序的符号链接,并将它们放在/ var / mobile / AppLinks中。然后在plist文件中将应用程序的路径设置为
/var/mobile/AppLinks/Field Guide 2010/Field Guide 2010
不是按照常规方式将应用程序安装到iPad上,您可以从Xcode获取ipa并提取.app包。然后手动将其安装到/ Applications /中,您就可以按照自己的方式使用launchd plist。
我推荐第一个选项,因为它允许您更新应用程序而无需手动将.app包放入Applications文件夹。使用第一个选项不会改变您更新应用程序的工作流程。
另外,请注意,如果你这样做,你必须在更新应用程序之前删除plist以退出它,因为我认为你不能在应用程序运行时更新它。
答案 1 :(得分:1)
iOS 6.0可能有一些修复方法可以将设备锁定到一个模式......我不知道(NDA)
黑客入侵的iOS 5.1仍然可以执行以下操作:
使用捆绑包标识符来管理应用....
你可以用com.apple.calculator打开计算器....不需要文件夹!
这是你放入launchd文件夹的脚本......
首先从cydia安装Open应用程序,以便您可以使用“open com.apple.calculator”terminal命令
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Disabled</key>
<false/>
<key>Label</key>
<string>com.perceptdev.tink</string>
<key>ProgramArguments</key>
<array>
<string>open</string>
<string>com.orbitusrobotics.thegatekeeper</string>
<string></string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StartInterval</key>
<integer>10</integer>
<key>WatchPaths</key>
<array/>
</dict>
</plist>