Xcode问题:单元测试编译错误无法直接在代码中显示
解决iOS Unit Tests编译错误无法直接在代码中显示的问题
检查Xcode实时错误提示设置
打开Xcode偏好设置(快捷键Cmd + ,),进入「General」标签页,确认「Show live issues」已勾选;再到顶部菜单栏的「Editor」选项,确保「Show Issues Navigator」处于开启状态。另外在左侧的Issues面板里,点击顶部的过滤按钮,别只筛了主应用目标,要把测试目标也包含进去。彻底清理缓存后重新构建
按以下步骤清理:- 删Derived Data:打开Xcode偏好设置→「Locations」→找到「Derived Data」,点击右侧箭头打开文件夹,删除当前项目对应的文件夹
- 清构建文件夹:用快捷键
Cmd + Shift + K - 重启Xcode,选中测试scheme,单独执行
Cmd + B构建测试目标,看错误是否能直接显示在代码里
调整测试目标的编译配置
选中项目里的测试目标(一般叫「xxxTests」),切换到「Build Settings」标签页:- 找到「Swift Compiler - Warning Policies」下的「Treat Warnings as Errors」,如果这个选项是开启状态,改成「No」,避免把警告转成编译错误却不显示具体位置
- 检查「Swift Compiler - General」里的「Enable Testability」是否设为「Yes」,这个选项能保证测试目标和主应用代码正确关联,减少关联问题导致的错误提示异常
验证测试目标的代码关联配置
进入测试目标的「Build Phases」:- 确认「Compile Sources」里包含了所有测试代码文件
- 检查「Target Dependencies」里有没有添加主应用目标,确保测试代码能正确引用主应用的代码。另外先保证主应用目标能正常编译通过,主应用的编译错误也会导致测试目标编译失败但不显示具体错误
重置Xcode UI状态(终极办法)
如果上面的方法都没用,就重置Xcode的配置:关闭Xcode后,找到~/Library/Preferences/com.apple.dt.Xcode.plist文件删除,重启Xcode后重新配置测试scheme再试
内容的提问来源于stack exchange,提问作者Luigi Trevisi
相关产品推荐
相关产品推荐

