【问题标题】:Guided Access/Kiosk mode of iPadiPad 的引导式访问/Kiosk 模式
【发布时间】:2014-03-19 08:26:16
【问题描述】:

我需要构建一个 iPad 应用程序,当用户启动它时,它会将 iPad 置于信息亭模式。我浏览了几个链接,但找不到正确的答案。我不知道从哪里开始。

在某处我读到我需要在我的设备中包含一个移动配置文件:"

<?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>

如何做到这一点?

【问题讨论】:

    标签: ios ipad


    【解决方案1】:

    设备必须处于受监督模式并与 MDM 平台一起分发。使用此功能启用引导模式:

    UIAccessibilityRequestGuidedAccessSession()
    

    文档说:

    使用 UIAccessibilityRequestGuidedAccessSession() 请求此应用 被锁定或从单一应用模式释放。锁定请求 此应用程序进入单应用程序模式只会成功,如果设备是 受监督,并且该应用的捆绑包标识符已被列入白名单 使用移动设备管理。如果您成功申请 Single App模式,通过平衡释放设备是你的责任 这个电话。

    您可以将 Meraki 用作 MDM 平台。免费 https://meraki.cisco.com/products/systems-manager

    【讨论】:

    • 嗨..我正在将我的设备置于监督模式..它正在进行中..但是“并与 MDM 平台一起分发”是什么意思?这该怎么做??我关注了你的链接,但我完全不清楚下一步该怎么做。你能详细说明一下吗??
    • @zeiteisen 感谢您提供使用 Meraki 的提示!您是否碰巧知道是否只允许从 AppStore 安装的应用程序请求单应用程序模式?我有一个受监督的设备,它的 Meraki 配置文件设置了限制,并在我的应用程序中设置了 Allowed Single App Mode 设置。但是在我的应用程序中对 UIAccessbilityRequestGuidedAccess() 的调用仍然失败。设备日志仅显示一个条目,说明“速率控制”连接“应用名称”访问受保护服务被拒绝。
    【解决方案2】:

    这是一个反复出现的问题。您不能在您的应用程序中执行此操作,至少在未越狱的设备上是这样。

    您确实可以使用 iPhone 配置实用程序实现此目的,但此解决方案仅适用于企业,并且也不允许单个应用程序使用自动信息亭模式。

    因此,您最好的办法就是使用引导式访问。您可能还想看看这个question and its answers

    【讨论】:

    • 是的..我经历了这个问题及其相应的答案..但是,我无法理解如何制作我的 .mobileconfig 文件..
    • 这个答案不再是最新的:如果 iPad 设置为监督模式并且应用程序使用 developer.apple.com/documentation/uikit/…,则可以在应用程序内进行
    【解决方案3】:

    我相信您想要做的是从远程服务器加载 plist,设备会询问您是否信任。如果是这样,那么应用程序应该进入锁定模式(这就是 SBStoreDemoAppLock 的含义:此处引用:http://www.zchristopoulos.com/2012/02/how-to-disable-ipad-home-button-kioskstore-demo-mode/ 和此处:http://rick-hawkins.blogspot.com/2012/01/turning-ipad-into-kiosk-device.html)。我相信@Toaster 越狱是错误的,因为您正在寻找使用配置。

    这个链接应该对你有帮助:https://developer.apple.com/library/ios/featuredarticles/iPhoneConfigurationProfileRef/Introduction/Introduction.html#//apple_ref/doc/uid/TP40010206-CH1-SW53

    除此之外,如果您想尝试相对简单的配置,请尝试 Apple 的 Configurator(链接在开发页面上)。

    关于将其置于引导访问模式的解决方案需要注意的一点是,它会在设备重新启动时重置。 .plist 解决方案应该保持到 plist 被显式删除。

    【讨论】:

      猜你喜欢
      • 2015-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-23
      • 2011-01-05
      相关资源
      最近更新 更多