如何避免Xcode构建失败后仍运行旧成功快照?
Xcode构建失败仍运行旧快照的解决方法
这是Xcode默认的 fallback 机制,目的是让你在构建失败时仍能调试上一次成功的版本,但如果想禁用这个行为,可以试试以下几种方法:
1. 修改Scheme的运行设置
- 打开Scheme编辑窗口:点击Xcode顶部工具栏的Scheme名称,选择「Edit Scheme...」(快捷键⌘+<)
- 在左侧列表选中「Run」,切换到「Info」标签页
- 找到「Allow running when build fails」选项(不同Xcode版本可能显示为「Run the last successful build if the build fails」),取消勾选该选项
2. 彻底清理构建缓存
- 清理当前项目的构建文件夹:按下快捷键⇧+⌘+K
- 清理Derived Data:按下⇧+⌥+⌘+K,或者打开Xcode偏好设置(⌘+,)→「Locations」→点击「Derived Data」旁的箭头,手动删除对应项目的缓存文件夹
- 这样旧的成功构建快照会被彻底清除,构建失败后就没有可运行的旧版本
3. 添加构建前清理脚本
- 回到Scheme编辑窗口,选中「Run」→切换到「Pre-actions」标签页
- 点击「+」号,选择「New Run Script Action」
- 在脚本输入框中添加:
xcodebuild clean -scheme "${SCHEME_NAME}" -configuration "${CONFIGURATION}" - 这样每次点击运行前,Xcode都会先清理旧构建产物,确保只有构建成功才能运行新代码
内容的提问来源于stack exchange,提问作者Roi Mulia
相关产品推荐
相关产品推荐

