3

我正在寻找以“信息亭模式”构建越狱设备,只有我的应用程序可以在设备上运行。我想让我的应用程序在设备启动时自动启动。有很多关于这个的问题:

然而,没有一个答案提供了太多细节。也许我可以实现-(BOOL) _shouldAutoLaunchOnBoot:(BOOL)boot;,returnYES和 bob's your uncle(我会试验一下)。也许我可以简单地将 SpringBoard.app 替换为我自己的应用程序。有没有人做到这一点并愿意提供细节?

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

4

1 回答 1

2

我不知道你如何使用 _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-04-27T22:58:44.963 回答