在IOS上使用launchd重启app

我正在博物馆展览中使用一些iPad,运行由他人开发的应用程序。 即使我们已经覆盖了主页按钮,我发现应用程序偶尔会崩溃,让用户处于主屏幕。 从这里他们可以访问其他未经授权的应用

博物馆不反对越狱iPad,如果这将为我们提供我们需要的解决方案,所以我一直在研究使用带有KeepAlive标签的launchd并将.plist文件放入/ Library / LaunchAgents目录中的想法如果崩溃,请阻止应用关闭或重新生成它

到目前为止,我已经成功地使用iPad附带的默认应用程序以及Cydia安装的应用程序,但我无法让它重新启动我们想要的应用程序。 我已经从/ User / Applications目录和/ Applications中尝试过它,有人建议可能会有所作为,但没有乐趣。 有人可以建议一个可能的解决方案,还是我在浪费时间? 我从下面的plist文件中插入了XML。

    Label com.MVFieldguide.launchd ProgramArguments  /Applications/Field Guide 2010.app/Field Guide 2010  RunAtLoad  KeepAlive  SuccessfulExit   

这不起作用,因为App Store应用程序不会保留在Applications文件夹中。 我可以想到两个选择。

  1. 在Cydia中安装AppLinks。 这将创建每个App Store应用程序的符号链接,并将它们放在/ var / mobile / AppLinks中。 然后在plist文件中将应用程序的路径设置为

    /var/mobile/AppLinks/Field Guide 2010/Field Guide 2010

  2. 不是按照常规方式将应用程序安装到iPad上,您可以从Xcode获取ipa并提取.app包。 然后手动将其安装到/ Applications /中,您就可以按照自己的方式使用launchd plist。

我建议使用第一个选项,因为它允许您更新应用程序而无需手动将.app包放入Applications文件夹。 使用第一个选项不会改变您更新应用程序的工作流程。

此外,请注意,如果您这样做,您必须在更新应用程序之前删除plist以退出它,因为我认为您不能在应用程序运行时更新它。

iOS 6.0可能有一些修复方法可以将设备锁定到一个模式……我不知道(NDA)

被黑客攻击的iOS 5.1仍然可以执行以下操作:

用户使用捆绑包标识符的应用….

你可以用com.apple.calculator打开计算器….不需要文件夹!

这是你放入launchd文件夹的脚本……

首先从cydia安装Open应用程序,以便使用“open com.apple.calculator”terminal命令

     Disabled  Label com.perceptdev.tink ProgramArguments  open com.orbitusrobotics.thegatekeeper   RunAtLoad  StartInterval 10 WatchPaths