如何创建kiosk模式的iPhone应用程序?

3
我希望在KIOSK模式下运行一个应用程序,以便它:
  1. 在设备启动后自动启动
  2. 在应用程序崩溃/断电等情况下重新启动
对于[可能越狱的] iPhone,有什么想法吗?
3个回答

3

最简单的方法是创建一个在SpringBoard中运行并且弹出自己的UIWindow的mobilesubstrate扩展。

创建一个static __attribute__((constructor))函数并在其中注册UIApplicationDidFinishLaunchingNotification。收到通知后,标准的iPhone SDK 99%将按原样工作。


谢谢,你能提供更多有关创建MobileSubstrate扩展的代码/资源吗? - cocoapriest
MobileSubstrate很简单;只需使用-dynamiclib链接器标志编译您的项目,忽略codesign错误,并将编译后的二进制文件从build/.../MyExt.app/MyExt移动到设备上的/Library/MobileSubstrate/DynamicLibraries/MyExt.dylib。如果您只是创建自己的UIWindow等,则标准SDK就足够了;如果您想与SpringBoard本身交互,则需要获取SpringBoard头文件(可以通过class-dump或其他来源获得)。 - rpetrich
有没有类似的应用程序先例?我很想看一下一些示例代码的GitHub链接。 - funroll

2

因为标准操作系统无法提供那种程度的控制,所以必须进行越狱。


0

既然你已经在考虑越狱,或许可以研究一下手机上的launchd,因为启动Springboard的任何内容也可能被设置为启动你的应用程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接