1

我遇到了一个奇怪的错误,其中 UIAccessibilityIsGuidedAccessEnabled 即使在设置中启用了引导访问之后也开始返回 false,我通过三次点击主页按钮激活它并成功看到引导访问已启用消息。

这是一个示例代码来显示我在做什么。

override func viewDidLoad() {
    super.viewDidLoad()
    NotificationCenter.default.addObserver(self, selector: #selector(guidedAccessStatusChanged(notification:)), name: NSNotification.Name.UIAccessibilityGuidedAccessStatusDidChange, object: nil)
}

@objc func guidedAccessStatusChanged(notification: NSNotification) {

    if UIAccessibilityIsGuidedAccessEnabled() {
        print("Guided access is enabled")
    }  else {
        // The program randomly started just displaying this even after guided access is enabled.
        print("Guided access is disabled")
    }
}

起初我认为这可能是时间问题,甚至尝试延迟我的引导式访问状态检查,但这也不起作用。

4

1 回答 1

0

您还可以使用直接提供的相关代码块来定义观察者:

_ = NotificationCenter.default.addObserver(forName: NSNotification.Name.UIAccessibilityGuidedAccessStatusDidChange, object: nil, queue: OperationQueue.main, using: { _ in
    if UIAccessibilityIsGuidedAccessEnabled() {
        print("Guided access is enabled")
    }  else {
        // The program randomly started just displaying this even after guided access is enabled.
        print("Guided access is disabled")
    }
})

然而。必须注意,一旦用户进入“引导访问设置屏幕”,引导模式将设置为disabled,您可以在其中定义是否允许触摸、特定时间范围限制等。显示此视图,在您再次触摸 3 次主页按钮并输入用于离开引导模式的密码后。

尽管在此模式下没有完全禁用引导模式,但它也未启用。也许这可能是原因,为什么它被“随机”设置为禁用?

如果没有,也许您还可以进一步澄清一下,当这些随机事件出现时,用户/应用程序端正在做什么。

于 2018-09-13T11:21:50.777 回答