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

Xcode 9.3归档报错:Command /bin/sh failed with exit code 1 求助

解决Xcode 9.3归档时Command /bin/sh failed with exit code 1的问题

我之前也踩过Xcode 9.3归档时这个sh命令失败的坑,结合你给出的rsync命令片段,大概率是Frameworks目录的软链接或同步环节出了问题,给你几个针对性的排查和解决步骤:

  • 先检查目标路径的合法性
    看看命令里的目标路径:

    /Users/geoff/Library/Developer/Xcode/DerivedData/Cable_Park-bxyqeiprdndohveuzrnvtsybtjqh/Build/Intermediates.noindex/ArchiveIntermediates/Cable Park/BuildProductsPath/Release-iphoneos/Cable Park.app/Frameworks
    

    路径里包含空格(Cable Park),虽然Xcode通常会自动处理转义,但建议手动确认这个目录是否存在,以及当前用户是否有读写权限——可以右键路径用终端打开,试试创建一个空文件测试权限。

  • 排查rsync命令的过滤规则
    你给出的rsync命令里有一堆--filter规则,比如--filter "- Headers",要注意两点:

    1. 命令片段最后是--filter "- Modules...,看起来是被截断了,确认完整命令里Modules相关的过滤规则有没有语法错误;
    2. 有没有某个过滤规则意外排除了需要同步的必要文件?比如误删了框架的核心文件。
      可以临时注释掉这个rsync脚本(如果是自定义的Run Script Phase),再尝试归档,先定位是不是这个脚本导致的问题。
  • 检查Run Script Phase的配置细节
    如果这个rsync是项目里的Run Script Phase:

    • 确认脚本的Shell设置为/bin/sh,工作目录是否正确;
    • 如果你是手动嵌入第三方框架,检查框架的Copy only when installing选项是否勾选——归档时这个选项可能会影响文件复制逻辑,导致rsync找不到要同步的文件。
  • 其他实用排查技巧

    • 试试重启Xcode甚至电脑,有时候清了DerivedData还会残留一些隐性缓存;
    • 打开Xcode的Report Navigator(左侧导航栏最后一个图标),找到归档失败的日志条目,查看完整的错误输出——rsync命令后面通常会附带具体的失败原因,比如“找不到某文件”“权限不足”,完整日志能帮你精准定位问题;
    • 检查项目里的第三方框架,有些旧框架可能不兼容Xcode 9.3的arm64编译规则,导致归档时同步失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:06:24