我的应用程序想要识别用户是否已进入引导访问模式。

我目前有一个 NSNotification 设置,它会触发苹果提供的 bool 值,但由于某种原因,它总是提供假阴性。

        NSNotificationCenter.defaultCenter() .addObserver(self, selector: #selector(guidedAccessChanged), name: UIAccessibilityGuidedAccessStatusDidChangeNotification, object: nil)

会触发以下方法
    func guidedAccessChanged () {

//        NSLog(@"Accessabilitiy enabled: %@", UIAccessibilityIsGuidedAccessEnabled() ? @"YES" : @"NO");

        print("Accessabilitiy enabled: \(UIAccessibilityIsGuidedAccessEnabled() ? "YES" : "NO" )")

        if (!UIAccessibilityIsGuidedAccessEnabled()){

            print("guided access Off")

        }
        else{
            print("guided access On")

        }

    }

但由于某种原因,日志正在返回

最佳答案

功能和通知应反射(reflect)引导式访问是否为您的应用启用了 和事件 ,不一定是在“设置”中打开时。

因此,如果“设置”中的“引导式访问”处于启用状态,我不知道会通知您的公共(public) API,但如果它当前正在运行(即,用户已连按三次主页按钮以明确为您的应用程序输入“引导式访问” ,设置他们的首选选项,然后点击开始) UIAccessibilityIsGuidedAccessEnabled() 应该返回 true 。但只有那时。

请参阅对 this question 已接受答案的评论

另见 this question

关于swift - UIAccessibilityIsGuidedAccessEnabled Bool 的陌生人行为 - SWIFT,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37205791/

10-14 22:05
查看更多