如何删除Xcode项目TARGETS中的VALID_ARCHS字段
VALID_ARCHS 无法删除解决方案
适用环境
- macOS 11.3.1
- Xcode 12.5.1
- CocoaPods 1.9.3
问题原因
你搜索不到该字段是因为它并非定义在主项目的project.pbxproj文件中,绝大多数情况是CocoaPods生成的配置文件、项目引入的第三方xcconfig文件注入了该字段,Xcode会聚合所有层级的配置统一展示。
解决步骤
方案1:重置CocoaPods配置(优先尝试)
- 完全关闭Xcode,在项目根目录依次执行以下终端命令:
rm -rf ~/Library/Developer/Xcode/DerivedData rm -rf Pods Podfile.lock pod deintegrate pod install
- 重新打开项目,进入TARGETS的Build Settings页面,找到VALID_ARCHS字段,双击选中后按Delete键即可删除自定义配置,该字段会自动消失。
方案2:在Podfile中强制移除该字段
如果方案1无效,可以通过CocoaPods的post_install钩子批量删除所有目标的VALID_ARCHS配置:
- 打开项目根目录的
Podfile,在末尾添加以下代码:
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings.delete 'VALID_ARCHS' end end end
- 执行
pod install重新生成配置,重启Xcode后VALID_ARCHS字段就会消失。
方案3:排查配置来源手动删除
如果以上两种方案都不生效,可以查看配置的实际来源:
- 进入TARGETS → Build Settings页面,点击顶部的「Levels」选项
- 找到VALID_ARCHS字段,查看对应行的高亮列,就能定位到该配置是来自哪个层级(Pod配置/自定义xcconfig/其他配置文件)
- 直接打开对应来源的配置文件,删除VALID_ARCHS相关行即可。
注:Xcode 12及以上版本已经废弃VALID_ARCHS配置,推荐使用
EXCLUDED_ARCHS字段配置需要排除的架构。
内容的提问来源于stack exchange,提问作者Rakuyo
相关产品推荐
相关产品推荐

