Xcode 9/9.3调试视图层级异常:是否为已知Bug及有无workaround?
关于Xcode 9.3 Debug View Hierarchy控制台异常的问题解答
我之前也碰到过Xcode 9系列(包括9.3)这个头疼的问题,这确实是官方的已知Bug,苹果在后续的Xcode版本(比如Xcode 10及以后)里已经修复了这个问题。如果暂时没法升级Xcode,你可以试试这些可行的临时解决办法:
- 重启Xcode与调试设备:完全退出Xcode(包括后台运行的进程),同时重启模拟器或者真机设备,再重新打开项目进行调试。很多时候缓存冲突导致的异常,通过这个操作就能暂时解决。
- 清理项目缓存文件:
- 按下
Cmd+Shift+K清理项目编译缓存; - 按下
Cmd+Option+Shift+K清理Derived Data目录; - 清理完成后重新编译项目,再尝试打开Debug View Hierarchy。
- 按下
- 避免断点状态下打开视图调试:尽量在App正常运行(未暂停在断点处)的状态下点击「Debug view hierarchy」按钮,断点触发时的上下文环境更容易触发控制台异常输出的问题。
- 临时代码标记视图:如果上述方法都无效,可以通过代码给可疑视图添加半透明颜色,快速定位位置:
Swift示例:
OC示例:// 在目标视图的初始化或布局方法中添加 self.backgroundColor = UIColor.red.withAlphaComponent(0.5)
调试完成后记得删除这段临时代码即可。// 在目标视图的初始化或布局方法中添加 self.backgroundColor = [[UIColor redColor] colorWithAlphaComponent:0.5]; - 回退到Xcode 8.x(若项目兼容):如果你的项目不需要Xcode 9的新特性,暂时回退到Xcode 8.x版本可以完全恢复正常的视图调试功能,直到你可以升级到修复该Bug的高版本Xcode。
内容的提问来源于stack exchange,提问作者Nissaba
相关产品推荐
相关产品推荐

