Swift UIAccessibilityIsGuidedAccessEnabled即使在引导模式激活后也返回false



我遇到了一个奇怪的错误,即使在设置中启用了引导访问后,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")
}
}

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

您还可以定义一个观察器,并直接提供相关的代码块:

_ = 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次主页按钮并输入退出引导模式的密码后,就会显示此视图。

尽管在该模式下引导模式未完全禁用,但也未启用。也许这就是为什么它被"随机"设置为禁用的原因?

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

最新更新