我不知道你如何使用 _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:。您可能必须阻止其他一些事情,但这应该可以帮助您入门。