添加多环境适配google-service.plist后UIKit预览失效报错如何解决
关联报错信息
- Cannot preview in this file - not building -Onone
- HumanReadableSwiftError
- CreationError: noBuildExecutor
- OptimizationLevelError: not building -Onone
- "NameOfApp Development.app" needs -Onone Swift optimization level to use previews
问题根因
新增多环境构建配置时,新创建的调试类配置(如报错里的Development配置)的Swift优化级别未设置为-Onone,而Xcode UIKit预览功能强制要求运行的构建配置必须采用无优化的-Onone级别才能正常工作,因此触发了对应报错。
新增配置时如果是复制Release配置生成的自定义环境,默认就会继承Release的优化等级设置,不会自动同步Debug配置的-Onone参数,这是最常见的触发场景。
解决方案
- 打开Xcode项目根节点,选中对应的App Target,进入
Build Settings标签页 - 搜索
Optimization Level配置项,找到Swift编译器对应的优化级别设置 - 所有用于开发调试的自定义多环境配置(比如本次报错的Development配置),统一将优化级别调整为
None [-Onone];仅生产打包用的配置保留Optimize for Speed [-O]等发布级优化配置 - 若调整后仍未生效,检查Project级别的
Optimization Level配置,确保调试类配置的参数和Target级保持一致,避免Project和Target配置冲突导致不生效 - 配置修改完成后,执行
Command + Shift + K清理构建缓存,再执行Command + Option + Shift + K清空衍生数据,重启Xcode后重新触发预览即可
内容的提问来源于stack exchange,提问作者MIF50
相关产品推荐
相关产品推荐

