9

在装有 iOS 8.1.3 的设备上运行 KIF 集成测试时,我收到许多以下类型的诊断消息作为控制台输出:

AX Exchange 错误:错误域 = 辅助功能代码 = 0“远程服务不响应 _accessibilityMachPort” UserInfo=0x1a55de50 {NSLocalizedDescription=远程服务不响应 _accessibilityMachPort}

这发生在调用waitForAccessibilityElement:view:withElementMatchingPredicate:tappable:.

否则测试会按预期工作,只是看起来有点冗长。所以我想知道:这种诊断输出是功能还是错误?怎么解释?如果有的话,我可以或应该做些什么?

4

2 回答 2

16

对于使用 Xamarin.iOS 的人,禁用会Xamarin.Calabash.Start(); // For Test Cloud暂停不间断日志记录

于 2017-12-04T07:26:11.800 回答
3

VoiceOver如果在设备上启用(使用 iOS 8.1 Settings| General| ),这些警告显然会消失Accessibility,但是现在人们会收到(可能)大量冗余音频而不是日志消息的垃圾邮件。

KIF 使用 iOS Accessibility (VoiceOver) 的目的不是正常用途,而是通过它们accessibilityIdentifier的 s 和accessibilityLabels 定位 UI 元素(不提供 Accessibility)。可以想象,相同的模式适用于在UI 中填充邮件消息的报告案例。MFMailComposerViewController如果是这样,那么如果 iOS 8.1 在正常用途不需要(启用)辅助功能 (VoiceOver) 服务时减少这些服务可能就足够公平了。这可以解释为什么 Mach 端口(显然)未绑定,进而可以解释观察到的警告消息。

于 2015-02-18T19:55:35.050 回答