如何在ipad中以编程方式启用“kiosk模式”?

时间:2013-02-25 13:39:27

标签: iphone ipad kiosk-mode home-button

我正在制作一个需要用户完全关注的应用程序,直到达到指定的目标。在达到目标之前,如果用户试图按下“主页”按钮,它应该被禁用,或者像ios6中的“kiosk模式”。我只需要在启动应用程序时以编程方式完成,不想通过在iPhone / iPad中手动更改设置菜单来执行任何操作在我的应用程序中完成目标后,应启用主页按钮。该应用程序针对企业。所以不需要应用商店批准。这该怎么做?提前谢谢。

编辑:我读到了“移动配置plist”。这需要重启设备。但我不想重启设备。一旦我的应用程序启动它应该处理所有事情(以编程方式)。我不希望用户/主管介入此。只是想在“引导访问”中禁用主页按钮,但在我的应用程序中以编程方式。是否有“引导访问”中的私人API可以禁用主页按钮?

注意:不适用于Jail破坏的设备。针对企业许可应用程序。

2 个答案:

答案 0 :(得分:11)

Zachary Christopoulos使用“移动配置plist”发布了此帖子。

  

安装此配置文件后,将启动第一个应用程序   设备重新启动将是唯一将在重新启动之前运行的应用程序   再次使用该设备。

来自Zachary's post的示例plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>PayloadContent</key>
    <array>
        <dict>
            <key>PayloadDescription</key>
            <string>Disables the home button.</string>
            <key>PayloadDisplayName</key>
            <string>Home Button Lock</string>
            <key>PayloadIdentifier</key>
            <string>com.zchristopoulos.kiosk</string>
            <key>PayloadOrganization</key>
            <string>Zachary Christopoulos</string>
            <key>PayloadType</key>
            <string>com.apple.defaults.managed</string>
            <key>PayloadUUID</key>
            <string>B2D02E2D-BAC5-431B-8A29-4B91F71C9FC1</string>
            <key>PayloadVersion</key>
            <integer>1</integer>
            <key>PayloadContent</key>
            <array>
                <dict>
                    <key>DefaultsDomainName</key>
                    <string>com.apple.springboard</string>
                    <key>DefaultsData</key>
                    <dict>
                    <key>SBStoreDemoAppLock</key>
                    <true/>
                    </dict>
                </dict>
            </array>
        </dict>
    </array>
    <key>PayloadDescription</key>
    <string>Disables Home Button</string>
    <key>PayloadDisplayName</key>
    <string>Home Button Lock</string>
    <key>PayloadIdentifier</key>
    <string>com.zchristopoulos.hbkill</string>
    <key>PayloadOrganization</key>
    <string>Zachary Christopoulos</string>
    <key>PayloadType</key>
    <string>Configuration</string>
    <key>PayloadUUID</key>
    <string>614D1FE3-F80D-4643-AF6B-D10C4CC8737A</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
</dict>
</plist>

答案 1 :(得分:2)

如果不使用私有框架或让设备越狱,您无法自动禁用主页按钮。您可以做的最接近的事情是让最终用户使用Guided Access需要三次单击主页按钮才能退出应用程序。必须首先在“常规 - >可访问性”下的“设置应用程序”中打开“引导访问”。

另请参阅:Disable Home Button Without Rebooting Device - Stack Overflow