首页 > 解决方案 > Swift 5.2 UIAccessibility.isAssistiveTouchRunning 永远不会返回 true,也不会触发 UIAccessibility.assistiveTouchStatusDidChangeNotification

问题描述

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

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

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

但这永远不会被触发。

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

问候 krjw

编辑 1

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

标签: swiftuiaccessibility

解决方案


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

更新

苹果回应说,为了让它工作,设置选项“引导访问”也必须启用。这没有任何意义,因为这两个功能之间没有关系......

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


推荐阅读