Swift 4、Xcode 9项目执行Product->Clean时能否排除Pods?
如何在Swift 4、Xcode 9中执行Clean时排除Pods?
当然可以!默认的Xcode Product->Clean会一股脑清理整个项目(包含Pods)的DerivedData构建产物,这也是为什么大量Pods会让清理+重构耗时极久。针对你遇到的“file too small for architecture x86_64”错误,其实只需要清理主项目的损坏构建产物就行,完全不用动Pods。下面是几种实用方案:
方案1:手动精准清理主项目产物
这种方法最直观,适合偶尔操作的场景:
- 打开Xcode偏好设置(
Cmd+,),切换到Locations标签页,点击DerivedData路径旁的箭头打开文件夹 - 在DerivedData里找到你的项目对应的文件夹(名字一般是
YourProject-随机字符串) - 进入后删除
Build/Products和Build/Intermediates下仅属于主项目的内容,或者直接删除主项目对应的子文件夹,保留Pods相关的文件夹不动
方案2:用命令行只清理主项目
如果觉得手动找文件夹麻烦,可以用xcodebuild命令精准清理主项目target,完全不影响Pods:
# 替换成你的项目和Scheme名称 xcodebuild clean -project YourProject.xcodeproj -scheme YourMainAppScheme
执行这条命令后,只会清理主项目的构建产物,Pods的编译结果会被完整保留,重构速度会快很多。
方案3:自定义Xcode Scheme实现一键清理
如果你需要频繁执行这个操作,可以自定义Scheme,把清理主项目的操作做成一键式:
- 点击Xcode顶部的Scheme选择框,选择
Edit Scheme... - 在左侧菜单选择
Build,切换到Pre-actions标签页 - 点击
+号选择New Run Script Action,在脚本框里输入:# 清理主项目的DerivedData xcodebuild clean -project YourProject.xcodeproj -scheme YourMainAppScheme - 保存Scheme后,下次直接运行这个Scheme的Build,就会自动先清理主项目,跳过Pods
另外补充一下:你遇到的“file too small for architecture x86_64”错误,大多是主项目的某个中间编译文件损坏导致的,Pods的构建产物很少出现这类问题,所以只清理主项目完全可以解决问题,不用浪费时间清理Pods。
内容的提问来源于stack exchange,提问作者1awuesterose
相关产品推荐
相关产品推荐

