如何在模拟器上发布 UIAccessibility 公告?

ent*_*mum 3 xcode ios swift xcode11

我有一个简单的视图控制器,它在viewDidLoad().

DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 10) {
    UIAccessibility.post(notification: .announcement, argument: "Hello world.")
}
Run Code Online (Sandbox Code Playgroud)

当我在我的设备上启用 Voiceover 时,这工作得很好。

但是,在模拟器上,公告不会运行。我试过使用可访问性检查器,但我无法让 Voiceover 宣布这一点。

是否有任何已知的解决方法?我正在运行 Xcode 11、iOS 13 模拟器。

Scr*_*ble 5

VoiceOver 似乎无法在模拟器上运行。

它需要在设备上运行。我认为您可以在模拟器上做的最好的事情是使用可访问性检查器来检查标签、提示等

使用辅助功能检查器在 iOS 模拟器中调试辅助功能

辅助功能检查器显示有关应用程序中每个可访问元素的辅助功能信息。您可以使用 Accessibility Inspector 来模拟 VoiceOver 与应用程序中的辅助元素的交互,以检查它们提供的信息。

注意:辅助功能检查器有助于在开发过程中测试您的应用程序的辅助功能,但它不能替代在物理设备上使用 VoiceOver 测试您的应用程序。一方面,辅助功能检查器不会说出辅助功能信息,因此您无法听到元素描述的声音。尽管辅助功能检查器非常适合快速验证元素是否提供适当的辅助功能信息,但您应该在打开 VoiceOver 的设备上测试您的应用程序,以确保它的行为符合用户的预期。有关如何执行此操作的一些提示,请参阅使用 VoiceOver 在您的设备上测试辅助功能。

参考