Xcode Cloud依赖解析失败 Package.resolved不支持schema版本2
运行环境
- 正式构建环境为Xcode 14,本地开发使用Xcode beta版本,经排查本地beta版因素与本次问题无关联。
问题现象
- 向代码仓库main分支推送代码时,Xcode Cloud会自动触发执行流程,按预期流程应运行测试套件,但实际流程在进入测试阶段前就中断,抛出如下错误:
Could not resolve package dependencies: Package.resolved file is corrupted or malformed; fix or delete the file to continue: unsupported schema version 2
已尝试的无效排查操作
- 直接删除
Package.resolved文件,该操作没有解决问题:Xcode会自动重新生成内容完全一致的Package.resolved文件,报错依旧存在。
问题根因
该报错本质是版本不兼容导致:本地高版本Xcode生成的Package.resolved文件采用schema version 2格式,而Xcode Cloud当前配置的构建环境使用的是更低版本的Xcode,低版本Xcode的Swift Package Manager不识别v2格式的resolved文件,才会抛出文件损坏、不支持schema版本的错误。
可行解决方案
二选一即可:
- 调整Xcode Cloud构建环境版本:进入Xcode Cloud工作流配置页,找到构建环境设置项,将Xcode Cloud使用的Xcode版本升级到和本地开发版本一致的Xcode 14及以上版本,保存配置后重新触发构建即可。
- 手动降级
Package.resolved文件版本:如果暂时无法调整Xcode Cloud的Xcode版本,找到项目中Package.resolved文件的存放位置(通常在.xcworkspace包内的xcshareddata/swiftpm/路径下,部分项目直接放在根目录),打开文件后将顶层字段"version": 2修改为"version": 1,将修改后的文件提交到代码仓库即可。注意:不要删除文件让Xcode自动重生成,否则高版本Xcode仍会生成v2版本的文件,问题复现。
内容的提问来源于stack exchange,提问作者Sergio Bost
相关产品推荐
相关产品推荐

