Xcode 14.3归档时遇Rsync错误:找不到文件或目录(2)
问题详情
使用Xcode 14.3归档项目时,在「Embed Pods Framework」阶段触发构建错误,核心错误信息:
rsync: [sender] change_dir "/Users/benjaminhill/src/stagey_producer/../../../IntermediateBuildFilesPath/UninstalledProducts/iphoneos" failed: No such file or directory (2)
已尝试删除Podfile.lock、清理构建文件夹、升级rsync、重启Xcode等操作无效。项目在Xcode 13中可正常运行,Xcode 14中可正常构建,但归档时出现上述问题。
解决方案
修正Pods框架嵌入脚本的路径
找到项目内Pods/Target Support Files/Pods-<你的Target名称>/Pods-<你的Target名称>-frameworks.sh文件,定位到rsync命令行中包含../../../IntermediateBuildFilesPath/UninstalledProducts/iphoneos的行,将该相对路径替换为基于构建变量的路径:# 原路径 ../../../IntermediateBuildFilesPath/UninstalledProducts/iphoneos # 替换为 "${BUILT_PRODUCTS_DIR}/../UninstalledProducts/iphoneos"保存文件后执行
pod install,重新尝试归档。调整Xcode构建路径配置
打开Xcode,点击菜单栏File > Project Settings(或Workspace Settings),点击Advanced按钮,选择Custom > Relative to Workspace选项,确认构建路径层级合理。完成后清理构建文件夹(快捷键Cmd+Shift+K),再执行归档操作。升级CocoaPods至最新版本
执行命令升级CocoaPods:sudo gem install cocoapods删除项目根目录下的
Pods文件夹和Podfile.lock,重新执行pod install后尝试归档。检查Target的Build Settings路径配置
进入项目Target的Build Settings面板,搜索Uninstalled Products Location,确保其值设置为$(BUILT_PRODUCTS_DIR)/../UninstalledProducts,若不一致则修改为该值,重新构建并归档。
内容的提问来源于stack exchange,提问作者mrbenhill

