我正在寻求在“信息亭模式”下构建一个越狱设备,其中只有我的应用程序可以在该设备上运行。我想让我的应用程序在设备启动时自动启动。对此有很多问题:
- Loading apps while iPhone starts up (boots) or after a shutdown
- Application on iPhone Startup
- ipad lockdown: launch app on boot?
- Load the iphone app automatically when phone boots
但是,所有答案都没有提供太多细节。也许我可以实现 -(BOOL) _shouldAutoLaunchOnBoot:(BOOL)boot;
,返回 YES
并且 bob 是你的叔叔(我将对此进行实验)。也许我可以简单地用我自己的应用程序替换 SpringBoard.app 。有谁做到了这一点并愿意提供详细信息吗?
郑重声明,这将在设备是否越狱无关紧要的环境中使用,并且我不会向 App Store 提交任何内容。
最佳答案
我不知道如何使用 _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];
}
}
}
为了确保没有人可以使用主页按钮退出应用程序,您可以 Hook 并阻止 SpringBoard 的 menuButtonDown: 和 menuButtonUp:。您可能需要阻止一些其他事情,但这应该可以帮助您开始。
关于iphone - 在启动/引导时自动启动应用程序的首选方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8003701/