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

Ka-*_*cks 9 iphone ipad kiosk-mode home-button

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

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

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

rjs*_*ing 11

Zachary Christopoulos使用"移动配置plist"发表了一篇文章.

安装此配置文件后,重新启动设备时启动的第一个应用程序将是唯一一个将再次重新启动设备的应用程序.

来自Zachary帖子的示例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>
Run Code Online (Sandbox Code Playgroud)


Jer*_*026 2

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

另请参阅:禁用主页按钮而不重新启动设备 - Thinbug