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

使用xcodebuild构建Unity项目时遭遇rsync错误求助

Unity iOS构建:xcodebuild归档时rsync目录不存在错误

问题场景

在M2 Mac Mini上使用Unity 2020.3.35f1构建iOS项目:

  • 终端执行Unity导出命令可成功生成Xcode项目
  • Xcode GUI能正常完成构建
  • 执行xcodebuild归档命令时,触发rsync错误,提示目标目录不存在,导致构建失败

导出命令

/Applications/Unity/Hub/Editor/2020.3.35f1/Unity.app/Contents/MacOS/Unity -batchmode -quit -projectPath "${PWD}" -executeMethod BuildEditorWindow.BuildPlayer_iOS_Development -logFile "Build/UnityBuildlog_iOS.txt" -username'[username]' -password'[password]'

归档命令

xcodebuild -workspace "${IOS_PROJ}/Unity-iPhone.xcworkspace" -scheme Unity-iPhone -derivedDataPath build -allowProvisioningUpdates -configuration Release -archivePath "Build/ios/${PRODUCT_NAME}.xcarchive" archive

错误信息

rsync --delete -av --filter P .*.?????? --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "../../../IntermediateBuildFilesPath/UninstalledProducts/iphoneos/FirebaseCore.framework" "/Users/arnav/Documents/Dev/Equestriad/Build/Build/Intermediates.noindex/ArchiveIntermediates/Unity-iPhone/InstallationBuildProductsLocation/Applications/Equestriad.app/Frameworks"

sending incremental file list

rsync: [sender] change_dir "/Users/arnav/Documents/Dev/Equestriad/Build/ios/../../../IntermediateBuildFilesPath/UninstalledProducts/iphoneos" failed: No such file or directory (2)

sent 19 bytes  received 12 bytes  62.00 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1356)[sender=3.2.7]
Command PhaseScriptExecution failed with a nonzero exit code

解决建议

  • 修正derivedDataPath路径
    归档命令中-derivedDataPath build是相对路径,可能因执行命令的工作目录与Xcode项目目录不一致,导致rsync路径解析错误。尝试:

    1. 切换到Xcode项目所在目录后再执行xcodebuild命令
    2. 将derivedDataPath改为绝对路径,例如:-derivedDataPath /Users/arnav/Documents/Dev/Equestriad/Build/ios/build
  • 修复Pods脚本中的路径引用
    错误源于FirebaseCore.framework的rsync路径错误,手动调整Xcode项目中的Pods脚本:

    1. 打开Unity导出的Xcode项目,找到[CP] Embed Pods Frameworks构建脚本
    2. 检查脚本中的rsync源路径,将相对路径调整为基于项目根目录的正确路径,或直接替换为绝对路径指向UninstalledProducts/iphoneos目录
  • 重新生成Pods依赖
    Pods中间文件可能生成异常,执行以下步骤重置:

    # 进入Xcode项目目录
    cd ${IOS_PROJ}
    # 清理Pods
    pod deintegrate
    # 重新安装Pods
    pod install
    

    完成后再执行xcodebuild归档命令

  • 指定兼容的Xcode版本
    Unity 2020.3.35f1对新版本Xcode兼容性有限,尝试切换到推荐版本:

    1. 安装Xcode 13.x系列版本(Unity 2020.3官方兼容版本)
    2. 使用xcode-select切换Xcode版本:
      sudo xcode-select -s /Applications/Xcode_13.4.1.app/Contents/Developer
      
  • 调整Unity导出设置
    在Unity编辑器的Player Settings > iOS中修改:

    1. 关闭Strip Engine Code选项,避免导出时误删Framework相关文件
    2. 确认Architecture设置为ARM64,适配M2芯片和iOS设备

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:42:51