如何检测UIAccessibilityRequestGuidedAccessSession是否在设备(iOS迅速)上处于活动状态?

时间:2018-08-31 06:57:57

标签: ios swift xcode mdm

我知道如何以编程方式将应用置于单应用模式,只要MDM服务器将自治的单应用模式柿子授予应用。

link还具有有关如何在单应用程序模式下锁定应用程序的详细说明。

以下应用单个应用模式的代码-

UIAccessibilityRequestGuidedAccessSession(true){
            success in
            completionBlock(success)
        }

我的问题/要求是,检测应用程序是否在自治的单个应用程序模式下运行,或者是否启用了UIAccessibilityRequestGuidedAccessSession,如果已启用,则仅向用户显示警报并询问他是否要禁用单个应用程序模式。

我试图使用 UIAccessibilityIsGuidedAccessEnabled()进行检测,但这没有用,因为返回值始终为false。

2 个答案:

答案 0 :(得分:1)

您可以使用BOOL UIAccessibilityIsGuidedAccessEnabled(void);来获取该信息。

Source@AppleDocs

您还可以尝试添加UIGuidedAccessRestrictionDelegate,然后做出反应

func UIGuidedAccessRestrictionStateForIdentifier(_ restrictionIdentifier: String) -> UIGuidedAccessRestrictionState

不过请记住,用户需要启用引导式访问(三按主屏幕按钮)。不是通过设置!

答案 1 :(得分:0)

@Akaino的答案是正确的,但是UIAccessibilityIsGuidedAccessEnabled方法未按预期工作,因为我曾经在didFinishLaunchingWithOptions上应用以下代码,因此无法正常工作

UIAccessibilityRequestGuidedAccessSession(true){
            success in
            completionBlock(success)
        }

当我在viewDidLoad()方法上应用了与上面相同的代码时,UIAccessibilityIsGuidedAccessEnabled可以按预期工作。