我的项目使用Carthage并在本地成功构建,但是当我尝试使用Microsoft Hosted Agent上的Azure DevOps管道构建它时,出现此错误:
以下构建命令失败:
PhaseScriptExecution迦太基\复制\框架/用户/运行者/库/开发人员/Xcode/DerivedData/My-Scheme-euhffgcbmkrrcmfffhaqpabtlubp/Build/Intermediates.noindex/My-Scheme.build/Release-iphoneos/My-Scheme。脚本-DB5433C1239AF75F00C0B252.sh (1次失败)
[错误]错误:/ usr / bin / xcodebuild失败,返回码:65
这是我的迦太基复制框架构建阶段:
/usr/local/bin/carthage copy-frameworks
我的猜测是,Azure机器的配置有所不同,但是我不知道该怎么修复。
我也收到此错误:
❌致命错误:/Applications/Xcode_10.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo:输入文件:/ Users / runner / Library / Developer / Xcode / DerivedData / My-自打开以来,Scheme-euhffgcbmkrrcmfffhaqpabtlubp / Build / Products / Release-iphoneos / Realm.framework.dSYM / Contents / Resources / DWARF / Realm已更改(未定义错误:0)
答案 0 :(得分:0)
即使迦太基在本地没有造成任何问题,如果您的方案构建了运行carthage copy-frameworks
命令的多个目标,代理计算机也可能会抛出类似以上错误:Realm changed since opened (Undefined error: 0)
。
似乎同时访问了同一文件,因为并行构建了多个目标。就我而言,正在为我的应用目标和测试目标运行carthage copy-frameworks
。解决此问题的方法是让您的方案仅构建应用目标:
Product > Scheme > Edit Scheme > Build (n targets) > Target to Remove > Select -