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

Xcode 15.2归档失败:Objective-C老项目模拟器运行正常但归档报错

解决Xcode归档时「Multiple commands produce」路径冲突问题

你遇到的错误是因为Xcode归档阶段对构建输出的校验更严格,检测到多个构建命令试图生成同一个include目录,而模拟器构建时校验宽松所以未触发报错。针对有六年历史的Objective-C老项目,给你几个实用的解决办法:

  • 检查重复的构建阶段配置
    打开项目Target的Build Phases标签,重点查看Headers和Copy Files阶段:

    • 确认是否存在多个条目将头文件输出到同一个iphoneos/include路径
    • 排查不同Target的构建阶段是否重复生成该目录
      删除重复条目,或调整输出路径避免重叠
  • 彻底清理构建缓存
    先关闭Xcode,手动删除报错提示中的DerivedData目录:

    /Users/karamjeet.singh/Library/Developer/Xcode/DerivedData/HP_xxx-bfrshadjilbcluewhoduspxudcoa
    

    重新打开Xcode后,按下Cmd+Shift+K清理构建文件夹,再尝试归档

  • 排查重复依赖问题
    如果项目包含多个Target或静态库,检查是否存在重复依赖:

    • 确认是否有同一个子项目/静态库被多个主Target依赖,导致两次编译输出相同头文件
      调整依赖关系,确保每个依赖仅被编译一次
  • 切换到Legacy构建系统(老项目专属)
    打开File > Project/Workspace Settings,将构建系统从默认的「New Build System」改为「Legacy Build System」。老Objective-C项目使用该系统能规避很多新构建系统的兼容性问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 15:45:54