运行我的项目时(甚至不使用MapKit
),我的控制台收到了一百多个类重复警告的垃圾邮件:
objc[6377]:类 ___MKPlaceBusinessInfoItemAccessibility_super 在 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/ 中实现Library/AccessibilityBundles/MapKit.axbundle/MapKit (0x12f128f00) 和 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/系统/库/AccessibilityBundles/VectorKit.axbundle/VectorKit (0x12f2187b0)。将使用两者之一。哪一个是未定义的。
这些警告是不存在 with Xcode 9.0.0,我只经历过这个Xcode 9.0.1 及以上版本.
我知道这是一个错误 and 我发现了雷达 http://www.openradar.me/34871338这就是关于这个问题的。有没有办法让这些警告静音而不影响其他 SDK 警告的可见性?
这实际上是当前 iOS 框架中的一个错误,与您的应用程序、模块缓存、库等中的任何内容无关。这似乎是不确定的原因是它仅在辅助功能层处于活动状态时才存在,即除非在非常特殊的情况下,否则它不在模拟器上。我所知道的三个:
- 辅助功能检查器已开启
- UI 仪表化测试
- OSX 的 VoiceOver 已开启(其他 AT 也同样)
要消除这种情况,您应该:
- 退出辅助功能检查器(如果已打开)
- 打开模拟器
- 硬件->“删除所有内容和设置”
- 重新运行应用程序。
- 从字面上看,永远不要使用辅助功能检查器运行此模拟器
- 从字面上看,永远不要在此模拟器上运行 UI 测试,该模拟器也依赖于辅助功能层来完成其工作,尽管我不认为这样做会导致错误一直存在,直到您再次“擦除所有......”,它会只需参加该测试运行即可。
每次您执行最后两个要点之一时,您都必须再次清除数据......
核心问题是 MapKit 和 VectorKit 都链接到核心可访问性包,但显然没有动态地这样做,因此这些包都包含在两个模块中。尽管非常冗长且令人沮丧,但可以非常安全地忽略此类警告。
不幸的是,没有其他解决方案......如果您不需要 iOS 11 功能,也许您可以下载旧版本的模拟器。或者只是不要运行仪器测试/辅助功能检查器/VoiceOver/我希望他们尽快解决这个问题!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)