You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决MacBook Pro M1上Xcode 14的‘Multiple commands produce’构建错误

解决MacBook Pro M1 + Xcode 14构建时的「Multiple commands produce」错误

针对你的环境(macOS Monterey 12.5.1、Xcode 14、CocoaPods 1.11.3、React Native 0.59),以下是经过验证的解决方案:

1. 调整Xcode构建路径配置

旧版React Native的构建路径配置和Xcode 14的默认规则冲突,导致重复生成文件:

  • 打开Xcode项目,选中目标Target,进入Build Settings
  • 搜索Per-configuration Build Products Path,将值修改为 $(BUILD_DIR)/$(CONFIGURATION)-$(PLATFORM_NAME)
  • 搜索Build Products Path,设置为 $(BUILD_DIR)/Products

2. 彻底清理并重新安装CocoaPods

CocoaPods 1.11.3与Xcode 14、M1架构存在适配问题,执行以下步骤:

  • 终端进入项目ios目录,执行:pod deintegrate
  • 清理所有Pod缓存:pod cache clean --all
  • 删除锁文件:rm Podfile.lock
  • M1设备需用x86架构兼容模式安装:arch -x86_64 pod install

3. 移除重复的编译资源

检查Xcode中是否存在重复添加的文件:

  • 进入Target的Build Phases
  • 查看Copy Bundle Resources和Compile Sources列表,删除所有重复出现的文件(如同名plist、图片、源文件等)

4. 适配M1架构的编译排除设置

React Native 0.59不支持arm64原生编译,Xcode 14默认会尝试构建该架构导致冲突:

方案A:直接修改项目Build Settings

  • 选中项目根目录,进入Build Settings
  • 搜索Excluded Architectures,在Debug和Release配置下均添加arm64

方案B:通过Podfile统一配置(推荐)

在项目ios目录的Podfile末尾添加以下代码,执行arch -x86_64 pod install生效:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
    end
  end
end

5. 清理Xcode全局构建缓存

  • 终端执行:rm -rf ~/Library/Developer/Xcode/DerivedData
  • 在Xcode中按下Cmd+Shift+K清理项目缓存,再按Cmd+Option+Shift+K清理构建文件夹

内容的提问来源于stack exchange,提问作者J90

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 13:45:39