如何将Swift Packages依赖项签入项目?
解决SPM依赖无需手动更新的几种办法
把依赖包本地导入并签入仓库
直接把你需要的依赖包下载到项目目录里(比如建个ThirdParty文件夹),然后在Xcode里通过「Add Packages...」选「Add Local...」导入这个本地文件夹。之后把这个依赖文件夹一起提交到Git,团队成员拉完代码直接就能用,完全不用手动更新包。锁定依赖的具体版本/Commit哈希
添加SPM依赖的时候,别选那种「自动升级到下一个大版本」的选项,直接指定固定版本号或者具体的Commit哈希。然后把Package.swift和生成的Package.resolved文件一起提交到仓库。团队成员拉完代码,Xcode会自动根据锁定的信息拉对应版本的依赖,不用手动点「Update Swift Packages」。之后要更新依赖的话,改一下版本/哈希,重新生成Package.resolved提交就行。用命令行自动解析依赖
团队成员拉完代码后,在项目根目录跑这个命令:swift package resolve它会自动根据
Package.resolved拉取正确的依赖,和手动更新效果一样。可以把这个步骤写到项目的初始化脚本里,避免有人忘操作。
另外提醒下:如果之前只提交了Package.swift的更改但没提交Package.resolved,SPM就没法锁定依赖版本,导致每个人拉的可能是不同版本,所以一定要把Package.resolved也提交到仓库里。
内容的提问来源于stack exchange,提问作者ScottyBlades
相关产品推荐
相关产品推荐

