【发布时间】:2011-01-11 02:52:33
【问题描述】:
我想在 KIOSK 模式下运行一个应用程序,以便它
- 启动设备后自动启动
- 在应用崩溃/断电/等后重新启动。
任何想法如何在 [可能越狱?] iPhone 上执行此操作?
【问题讨论】:
标签: iphone jailbreak kiosk autostart
我想在 KIOSK 模式下运行一个应用程序,以便它
任何想法如何在 [可能越狱?] iPhone 上执行此操作?
【问题讨论】:
标签: iphone jailbreak kiosk autostart
最简单的方法是创建一个在 SpringBoard 中运行并抛出自己的 UIWindow 的 mobilesubstrate 扩展。
创建一个static __attribute__((constructor)) 函数和UIApplicationDidFinishLaunchingNotification 的内部寄存器。收到通知后,99% 的标准 iPhone SDK 将按原样工作。
【讨论】:
-dynamiclib 链接器标志编译您的项目,忽略协同设计错误,然后将编译后的二进制文件从您的设备上的build/.../MyExt.app/MyExt 移动到/Library/MobileSubstrate/DynamicLibraries/MyExt.dylib。如果您只是创建自己的 UIWindow 等,标准 SDK 就可以了;如果您想与 SpringBoard 本身交互,则需要获取 SpringBoard 标头(通过 class-dump 或其他来源)。
它必须越狱,因为标准操作系统无法为您提供这种级别的控制。
【讨论】:
既然你已经在考虑越狱了,不妨看看手机上的launchd,因为无论什么启动Springboard也可能在之后启动你的应用程序。
【讨论】: