【问题标题】:Preferred method to automatically start an app on startup/boot?在启动/启动时自动启动应用程序的首选方法?
【发布时间】:2011-11-04 00:35:40
【问题描述】:

我希望在“kiosk 模式”下构建一个越狱设备,只有我的应用程序可以在该设备上运行。我想让我的应用程序在设备启动时自动启动。对此有很多问题:

但是,没有一个答案提供了太多细节。也许我可以实现-(BOOL) _shouldAutoLaunchOnBoot:(BOOL)boot;,返回YES,然后鲍勃是你的叔叔(我会试验一下)。也许我可以简单地将 SpringBoard.app 替换为我自己的应用程序。有没有人做到这一点并愿意提供细节?

为了记录,这将在设备是否越狱无关紧要的环境中使用,并且我不会向 App Store 提交任何内容。

【问题讨论】:

  • 我忘了提一下,很明显一些应用程序,如 WinterBoard、PogoPlank 正在这样做并通过 Cydia 分发,但我没有找到可用的源代码。
  • 也许this 会有所帮助?

标签: iphone ios jailbreak iphone-privateapi


【解决方案1】:

我不知道你如何使用 _shouldAutoLaunchOnBoot: 但我在使用 MobileSubstrate 之前做过类似的事情

我上钩了 -[SBUIController finishLaunching] 然后启动了我想要的应用程序

-(void) appLaunch {
    if ([[[UIDevice currentDevice] systemVersion] floatValue] < 4.0) {
        if ([[objc_getClass("SBIconModel") sharedInstance] iconForDisplayIdentifier:bundleID] != nil){
        [[[objc_getClass("SBIconModel") sharedInstance] iconForDisplayIdentifier:bundleID] launch]; 
        }
    }
    else {
        if ([[objc_getClass("SBIconModel") sharedInstance] applicationIconForDisplayIdentifier:bundleID] != nil) {
        [[[objc_getClass("SBIconModel") sharedInstance] applicationIconForDisplayIdentifier:bundleID] launch]; 
        }
    }   
}

为了确保没有人可以使用主页按钮退出应用程序,您可以挂钩并阻止 SpringBoard 的 menuButtonDown: 和 menuButtonUp:。您可能必须阻止其他一些事情,但这应该可以帮助您入门。

【讨论】:

    猜你喜欢
    • 2012-03-18
    • 2011-04-06
    • 2018-03-01
    • 2013-12-23
    • 2012-05-12
    • 2016-07-18
    • 2016-08-05
    • 2014-05-06
    • 1970-01-01
    相关资源
    最近更新 更多