升级Xcode 14后无法使用po命令调试打印的问题求助
Xcode 14调试时
po命令报错:无法加载模块/共享Swift状态崩溃的解决办法 问题场景
升级Xcode 14数周后,调试时使用po命令打印变量会触发以下错误,项目包含的4个Target均出现此问题,Xcode 13中调试功能正常,目前只能用print语句替代调试控制台:
warning: Swift error in scratch context: error: failed to load module 'UAT'
.
Shared Swift state for UAT.app has developed fatal errors and is being discarded.
REPL definitions and persistent names/types will be lost.error: expression failed to parse:
可行解决步骤
清理项目与构建缓存
- 使用快捷键
Cmd+Shift+K清理当前Target的构建产物 - 手动删除
~/Library/Developer/Xcode/DerivedData下对应项目的缓存文件夹 - 重启Xcode后重新构建项目
- 使用快捷键
检查调试相关Build Settings配置
- 打开项目Build Settings,确保Debug模式下
Debug Information Format设置为DWARF with dSYM File - 确认
Enable Swift Debugging选项处于开启状态(Debug模式默认开启,排查是否被手动修改)
- 打开项目Build Settings,确保Debug模式下
重置设备调试环境
- 断开当前调试会话,关闭模拟器或断开真机连接
- 打开Xcode的
Window > Devices and Simulators,选中对应设备,右键选择Erase All Content and Settings(真机操作前请备份数据) - 重新安装App并启动调试
排查Target与编译配置问题
- 检查所有Target的
Product Module Name,确保无特殊字符或空格,保持命名规范 - 暂时移除
Other Swift Flags中非必要的自定义编译标志,测试是否解决问题
- 检查所有Target的
临时降级方案
- 若上述方法均无效,可暂时使用Xcode 13进行调试,等待Apple发布Xcode更新修复该问题
内容的提问来源于stack exchange,提问作者Rattanakoudom Sambath
相关产品推荐
相关产品推荐

