14

我希望从 OTA 安装我的应用程序后,设备的主页按钮将根本不起作用,因此用户无法从应用程序中出来。我的挖掘使我得到以下结果

A)我有一种方法可以通过“mobileconfig”配置文件禁用主页按钮,但它需要重新启动设备,并且用户必须在启动后打开我的应用程序,我想这样做而不用非监狱上的私有框架之类的东西重新启动- 损坏的设备。我想知道非越狱设备有可能吗?

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

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

4

4 回答 4

19

在 iOS6 中,有一个名为“引导访问”的功能,它允许设备所有者将用户(如幼儿和学童)锁定到应用程序中。

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

于 2012-11-01T06:56:57.113 回答
1

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

open这里下载

你需要移动open到 /usr/bin/ 或者你可以把它放在你的应用程序中没关系,但将权限设置为0755 and root:wheel

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

/System/Library/LaunchDaemons

这是一个例子。假设您将 LaunchDaemon 命名为

com.gauravstomar.test.plist

在上面写着com.bundle.identifier放置您的应用程序标识符的地方,您也可以在您Info.plist的应用程序目录中找到它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,以便禁用主页按钮。评估完成后,您可以禁用 LaunchDaemon,以便应用程序停止使用以下命令重新启动自身 launchctl unload/System/Library/LaunchDaemon/com.gauravstomar.plist

如果您需要更多帮助,请告诉我。

于 2012-11-08T03:00:27.430 回答
1

这个问题的官方回答是“你不能在 ios 设备中禁用主页按钮,它是操作系统级别的架构,你没有被授权。”

您需要深入了解操作系统流程以进行任何可能非常困难的更改。

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

于 2012-11-01T06:59:33.790 回答
0

如果没有越狱,该应用程序将被沙盒化。该应用程序根本无法使用主页按钮。而且你真的不应该弄乱主页按钮。

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

我们有许多 iPod touch 带有我们出租给客户的票务扫描应用程序。我们利用“限制”来禁用除我们的应用程序之外的所有内容。迄今为止,最有用的限制是防止人们删除应用程序——令人难以置信的是,有多少人会意外删除应用程序,即使在警告提示之后也是如此。

于 2012-11-22T19:31:43.843 回答