如何在项目中选用本地Swift Package的不同版本?
解决本地Swift Package版本选择问题
问题核心
本地包存在未提交更改时,Xcode会优先使用当前工作区的未提交内容,跳过Git仓库内的标签/分支信息;另外直接通过本地文件夹添加包,Xcode不会解析Git版本数据,导致版本选择选项缺失。
解决步骤
清理本地包的Git工作区
- 进入
MyPackage目录,提交所有未完成的更改:git add . git commit -m "提交版本4的修改" - 如果需要给当前版本打标签,执行:
git tag 4.0.0
确保Git仓库无未提交内容,Xcode才能正确识别仓库内的标签和分支。
- 进入
通过Git URL重新添加本地包
- 打开Xcode项目,进入
File > Add Packages... - 在搜索栏输入本地包的Git仓库绝对路径(格式为
file:///你的本地包路径,比如file:///Users/xxx/Projects/MyPackage) - 此时Xcode会加载仓库的所有标签、分支和提交记录,你可以选择:
- 特定版本:比如
2.0.0标签 - 指定分支:比如
main分支 - 自定义提交:输入目标commit哈希值
- 特定版本:比如
- 选择完成后点击"Add Package"即可。
- 打开Xcode项目,进入
修改已添加本地包的依赖规则
- 在项目的
Package Dependencies列表中选中MyPackage - 右侧面板找到"Dependency Rule",点击下拉菜单选择"Exact Version"、"Up to Next Major Version"或"Branch"等选项
- 选择对应的标签版本或分支,即可切换到指定代码版本。
- 在项目的
内容的提问来源于stack exchange,提问作者Andrei Herford
相关产品推荐
相关产品推荐

