禁用主页button,无需重新启动设备

我想要从OTA安装我的应用程序后,设备的主页button将无法正常工作,以便用户无法从应用程序中出来。 我的挖掘导致我以下结果

答:我有一个方法来禁用“mobileconfig”configuration文件的主页button,但它需要重新启动设备,用户必须在启动后才能打开我的应用程序,我想这样做,而不必重新启动像非监狱私人框架断开的设备。 我想知道的是非监禁设备可能吗?

C)如果无法使用私有框架禁用主页button,那么是否有任何方法可以在引导设备后立即打开应用程序?因为某些越狱应用程序/进程在启动时加载。

[注意:我不想将我的应用程序提交给iTunes。]

在iOS6中,有一个名为“引导访问”的function,可以让设备所有者将用户(如幼儿和学校的孩子)locking到应用程序中。

这解释了iOS 6应用程序的引导访问 。

这个问题的官方答案是“你不能禁用ios设备中的主页button,它是os级架构,你不被授权。”

你需要挖掘操作系统stream程来做出任何可能安静的改变。

好吧,如果你改变了你的视线,那么在ios 6中有一个开放和简单的解决scheme,称为引导访问。

如果你能够越狱你的设备创build一个LaunchDaemon或使用现有的。 LaunchDaemon是一个plist格式的文件,需要重新启动和启动您的设备。 您还需要一个由K3A创build的名为open的文件

从这里下载open

您需要将其open到/ usr / bin /,或者您可以将其放在您的应用程序中并不重要,但将权限设置为0755 and root:wheel

现在到LaunchDaemons,它们被存储在这里

 /System/Library/LaunchDaemons 

这是一个例子。 让我们说你命名LaunchDaemon

 com.gauravstomar.test.plist 

它说com.bundle.identifier把你的应用程序标识符,你也可以在你的应用程序目录中的Info.plistfind它说CFBundleIdentifier

现在在plist里面插入以下信息

 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.gauravstomar.test</string> <key>ProgramArguments</key> <array> <string>open</string> <string>com.bundle.identifier</string> </array> <key>RunAtLoad</key> <true/> <key>StartInterval</key> <integer>1</integer> </dict> </plist> 

标签必须与LaunchDaemon.plist相同,不包括plist扩展名

ProgramArguments是调用文件打开并启动应用程序

RunAtLoad使得这个plist在重启后启动

如果用户退出应用程序,StartInterval将使LaunchDaemon.plist在1秒钟后打开备份,如果用户仍在应用程序中,则什么都不会发生

确保您的LaunchDaemon的权限设置为

 0644 root:wheel 

您仍然可以使用您的mobileconfig,以便主页button被禁用。 一旦评估完成,您可以禁用LaunchDaemon,以便应用程序停止使用以下命令重新启动launchctl unload/System/Library/LaunchDaemon/com.gauravstomar.plist

让我知道你是否需要任何帮助。

没有越狱,该应用程序是沙盒。 应用程序根本无法访问与主页button混乱。 而且你真的不应该搞乱主页button。

除了“引导访问”,您还可以使用“限制”,这将允许您禁用所有接受打开您的应用程序。 您可以禁用包括Safari在内的Apple特定应用程序,并阻止用户安装应用程序,删除应用程序,进行购买等。

我们有一个iPod触摸与票务扫描应用程序,我们出租给我们的客户。 我们利用“限制”来禁用除了我们的应用程序以外的一切。 到目前为止,最有用的限制是防止人们删除应用程序 – 即使在警告提示后,有多less人会意外删除应用程序,这是不可思议的。