【问题标题】:How to create kiosk-mode iPhone app?如何创建信息亭模式的 iPhone 应用程序?
【发布时间】:2011-01-11 02:52:33
【问题描述】:

我想在 KIOSK 模式下运行一个应用程序,以便它

  1. 启动设备后自动启动
  2. 在应用崩溃/断电/等后重新启动。

任何想法如何在 [可能越狱?] iPhone 上执行此操作?

【问题讨论】:

    标签: iphone jailbreak kiosk autostart


    【解决方案1】:

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

    创建一个static __attribute__((constructor)) 函数和UIApplicationDidFinishLaunchingNotification 的内部寄存器。收到通知后,99% 的标准 iPhone SDK 将按原样工作。

    【讨论】:

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

    它必须越狱,因为标准操作系统无法为您提供这种级别的控制。

    【讨论】:

      【解决方案3】:

      既然你已经在考虑越狱了,不妨看看手机上的launchd,因为无论什么启动Springboard也可能在之后启动你的应用程序。

      【讨论】:

        猜你喜欢
        • 2015-11-18
        • 2014-01-16
        • 2016-01-07
        • 2012-11-21
        • 2018-03-06
        • 1970-01-01
        • 1970-01-01
        • 2015-04-21
        • 2017-10-09
        相关资源
        最近更新 更多