Swift 5.2 UIAccessibility.isAssistiveTouchRunning 永远不会返回 true,也不会触发 UIAccessibility.assistiveTouchSt

Posted

技术标签:

【中文标题】Swift 5.2 UIAccessibility.isAssistiveTouchRunning 永远不会返回 true,也不会触发 UIAccessibility.assistiveTouchStatusDidChangeNotification【英文标题】:Swift 5.2 UIAccessibility.isAssistiveTouchRunning never returns true nor does UIAccessibility.assistiveTouchStatusDidChangeNotification get triggered 【发布时间】:2019-10-13 11:28:08 【问题描述】:

我想知道是否启用了 AssistiveTouch,因为我的应用程序想向用户说明如何针对特定用例正确设置它。

我尝试获取 UIAccessibility.isAssistiveTouchRunning,但它永远不会返回 true。我什至把它放在一个计时器中并打开和关闭 AssistiveTouch,但它总是返回 false。然后我像这样添加了UIAccessibility.assistiveTouchStatusDidChangeNotification

NotificationCenter.default.addObserver(forName: UIAccessibility.assistiveTouchStatusDidChangeNotification, object: self, queue: OperationQueue.current, using:  notification in
    print(notification)
)

但这永远不会被触发。

我错过了什么?这个功能不可用吗?

问候 krjw

编辑 1

我试过isVoiceOverRunning 并且它有效。我似乎无法进一步了解这一点。

【问题讨论】:

【参考方案1】:

我遇到了同样的行为。我已经与 Apple 开了一个 TSI,至于他们的回应——它只有在引导访问也打开并处于活动状态时才有效。我试图弄清楚是否有任何方法可以确定是否只有辅助触摸正在运行。会更新...

更新

Apple 已回复说,为了使其正常工作,还必须启用设置选项“GUIDED ACCESS”。这没有任何意义,因为这两个功能之间没有关系.....

我将通过反馈助手发送反馈,并请求一个选项以了解是否只有辅助触摸正在运行。

【讨论】:

以上是关于Swift 5.2 UIAccessibility.isAssistiveTouchRunning 永远不会返回 true,也不会触发 UIAccessibility.assistiveTouchSt的主要内容,如果未能解决你的问题,请参考以下文章

Apple Notes 颜色选择器中的 # 是啥? (UIAccessibility - 旁白)

有没有办法使用 UIAccessibility 获取所有设备的辅助功能设置?

跟我学Swift 5.2-入门介绍

探索 Swift 5.2 的新函数式特性

UITableView 上的 UIAccessibility 实现

UIWINDOW 子视图上的 UIAccessibility