在启动/引导时自动启动应用程序的首选方法?

发布于 2024-12-13 17:59:37 字数 855 浏览 1 评论 0原文

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

但是没有提供任何答案很多 细节。也许我可以实现 -(BOOL) _shouldAutoLaunchOnBoot:(BOOL)boot;,返回 YES 并且 bob 是你的叔叔(我将对此进行实验)。也许我可以简单地用我自己的应用程序替换 SpringBoard.app 。有谁完成了这个并愿意提供细节吗?

根据记录,这将在设备是否越狱无关紧要的环境中使用,并且我不会向应用程序商店提交任何内容。

I'm looking to build a jailbroken device in "kiosk mode" where only my app can run on the device. I'd like to have my app automatically launch when the device boots. There have been a number of questions asked about this:

However none of the answers have provided much detail. Maybe I can implement -(BOOL) _shouldAutoLaunchOnBoot:(BOOL)boot;, return YES and bob's your uncle (I'll experiment with that). Maybe I can simply replace SpringBoard.app with my own app. Has anyone accomplished this and willing to provide details?

For the record this will be used in an environment where it doesn't matter if the device is jailbroken, and I won't be submitting anything to the App Store.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无畏 2024-12-20 17:59:37

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

I don't know how you could use _shouldAutoLaunchOnBoot: but I've done something similar before using MobileSubstrate

I hooked -[SBUIController finishLaunching] and then launched the app I wanted

-(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]; 
        }
    }   
}

To make sure that no one can exit the app using the home button you could hook and block SpringBoard's menuButtonDown: and menuButtonUp:. You'll probably have to block a few other things but this should get you started.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文