根据文档,There are two ways of enabling your iOS app to run in kiosk mode.
配置文件:借助移动设备管理 (MDM),我们可以创建企业配置文件并将其推送到使用任何 MDM 的设备,例如众所周知的 MobileIron 或借助任何 iPhone 配置实用程序。安装此配置文件后,在设备重新启动时启动的第一个应用程序将是唯一会运行的应用程序,直到您再次重新启动设备为止。
引导访问(iOS 6 及以上):从 iOS 6 开始,我们可以使用引导访问和监督访问两种方法来实现这一点。这两种方法都处理辅助功能控制功能,例如允许用户限制访问他们的设备。这只有在我们拥有对设备的完全访问权限时才能实现。
我们可以在 iOS 7 中使用 UIKit 方法 UIAccessibilityRequestGuidedAccessSession 以编程方式在 iOS App 中设置 Kiosk 模式。根据苹果开发者文档,“UIAccessibilityRequestGuidedAccessSession 将异步转换应用程序到单应用程序模式或从单应用程序模式转换”。
在苹果开发者文档中给出:
UIAccessibilityRequestGuidedAccessSession
异步将应用程序转换为单应用程序模式或从单应用程序模式转换。
void UIAccessibilityRequestGuidedAccessSession(BOOL enable, void(^completionHandler)(BOOL didSucceed))
参数
enable
指定 YES 以将此应用程序置于单应用程序模式,或指定 NO 以退出单应用程序模式。
completionHandler
通知您的应用操作成功或失败的块。该块采用以下参数:
didSucceed
如果是,则应用程序成功转换为单应用程序模式或从单应用程序模式转换。如果否,则应用程序或设备不符合单应用程序模式或出现其他错误。
讨论
您可以使用此方法将您的应用程序锁定为单应用程序模式,并稍后将其从该模式中释放。例如,应试应用可能会在测试开始时进入此模式,并在用户完成测试时退出。只有使用移动设备管理 (MDM) 监督的设备才支持进入单应用模式,并且应用本身必须由 MDM 启用此模式。您必须平衡每次调用以进入单应用程序模式和调用以退出该模式。
由于进入或退出单应用模式可能需要一些时间,因此此方法异步执行并使用completionHandlerblock 通知您结果。
Availability
Available in iOS 7.0 and later.
另见
UIAccessibilityIsGuidedAccessEnabled
声明于
UIAccessibility.h