Xcode 16.1添加Swift包失败:无法获取标签列表、依赖未找到
问题现象
在Xcode 16.1、macOS 15.1(Intel Core i7)、iOS 18.0环境下,添加远程Swift包(如SnapKit、Resolver)或本地包时均失败,报错如下:
Couldn't get a list of tags. Unexpectedly did not find the new dependency in the package graph: sourceControl(identity: snapkit, location: SwiftPM.SPMPackageDependency.SourceControlLocation.remote(SwiftPM.SPMSourceControlURL(sourceControlURL: https://github.com/SnapKit/SnapKit.git)), requirement: 5.7.1 – Next Major)
已尝试清理Derived Data、包缓存、重新添加依赖、验证GitHub权限等操作,问题仍未解决。
可行解决方案
改用精确版本号替代版本范围
报错中使用的5.7.1 – Next Major版本范围可能触发SPM的标签解析问题,直接指定精确版本:- 在Xcode添加依赖时选择「Exact Version」,输入
5.7.1 - 或手动修改
Package.swift:.package(url: "https://github.com/SnapKit/SnapKit.git", exact: "5.7.1")
- 在Xcode添加依赖时选择「Exact Version」,输入
排查网络与Xcode SPM配置
- 打开Xcode偏好设置 →
Network,确认「Enable Source Control」已勾选 - 关闭全局代理或在Xcode中配置适配的代理规则,排除防火墙/代理对SPM拉取的干扰
- 切换网络环境(如热点),验证是否为网络限制导致
- 打开Xcode偏好设置 →
彻底重置SPM缓存与Derived Data
终端执行以下命令清理缓存,再重启Xcode:rm -rf ~/Library/Caches/org.swift.swiftpm rm -rf ~/Library/Developer/Xcode/DerivedData/*手动通过终端管理依赖
跳过Xcode图形界面,直接编辑项目Package.swift添加依赖后,在终端执行:swift package update完成后再用Xcode打开项目。
本地包路径校验
添加本地包时,确保路径为绝对路径或相对于项目根目录的正确相对路径,同时确认本地包本身是合法的Swift Package(包含Package.swift且配置无错误)。测试Xcode降级方案
Xcode 16.1可能存在SPM兼容性bug,尝试降级到Xcode 16.0或稳定版本,验证问题是否消失。
内容的提问来源于stack exchange,提问作者Taras

