文章目录

  • 前言
  • Swift Package Manager 依赖
  • 新建一个项目
  • 添加 Swift Package Manager 依赖
  • 输入库链接
  • 下载代码选项的配置
  • 完成
  • 测试是否真的依赖成功
  • 更新依赖
  • 额外的一些知识点
  • 第三方源码存放位置
  • 依赖关系是写在哪里呢
  • CocoaPod 和 SPM 是否能一起使用


前言

在网上找了很多关于Swift Package Manager 的, 基本都是一样的,都没说到如何集成到现有的项目中. 比如 iOS 项目, Mac 项目等等.
然后自己各种找资料,成功操作了一遍之后. 就顺便记录了下来,让一些没接触过的童鞋能快速上手.

Swift Package Manager 依赖

新建一个项目

这里我们先建立一个项目, 如下

swift packagemanager_依赖关系

添加 Swift Package Manager 依赖

File -> Swift Package -> Add Package Dependency…

swift packagemanager_SPM_02


或者点击到 PROJECT -> Swift Packages 也是可以的

swift packagemanager_依赖关系_03

输入库链接

这里我用 Alamofire 作为演示, 复制 github 的 git 地址, 点击 Next.

swift packagemanager_SPM_04

这里要, 等待一下. 如果这一步如等待过久, 可点击取消, 然后再次点击 Next

swift packagemanager_SPM_05

下载代码选项的配置

验证成功的话,出现以下该界面

这里有三个选项, 是选择要以依赖的代码, 以哪种方式下载

  • Version: 对应库的 Release 版本. 这里可选择大于小于这些规则
  • Branch: 直接下载某个分支的代码
  • Commit: 某一个提交记录的 Id

这里就直接选择默认 4.9.1 版本了

swift packagemanager_Swift_06

点击 Next, 这时候就开始下载代码了

swift packagemanager_iOS_07

完成

下载成功后, 会出现以下界面, 这里一般可直接点击 Finish 就可以了

swift packagemanager_SPM_08

添加完之后, 项目是这样的

swift packagemanager_SPM_09

测试是否真的依赖成功

测试一下, 是否真的添加成功依赖了

swift packagemanager_SPM_10

到这里, 整个依赖流程就完成了. ✌️

更新依赖

选择 File -> Swift Packages -> Update to Latest Package Versions 即可

swift packagemanager_依赖关系_11

额外的一些知识点

如果已经完成依赖的同学, 看了看项目文件结构. 是不是没发现 Alamofire 的源码, 也没发现类似 CocoaPods 的 Podfile 这种写依赖关系的文件. 接下来我们一件件去探索一下

第三方源码存放位置

其实我们在项目中对着 Alamofire 里面的文件, Show Finder 一下, 就能轻松找到在哪了, 如下图

swift packagemanager_iOS_12

具体路径: ~/Library/Developer/Xcode/DerivedData/XQTestOne-dcchhjjlbxiykzfmyuzjpihdlfri/SourcePackages/checkouts/Alamofire
这里就是 Xcode 项目编译缓存的地方

依赖关系是写在哪里呢

一般配置文件, 都是在 xxx.xcodeproj/project.pbxproj 文件下.

接下来, 去验证一下, 是否真的在里面, 右键 xxx.xcodeproj 文件, 选择 显示包内容

swift packagemanager_SPM_13

然后我们双击打开 project.pbxproj 文件.

swift packagemanager_Swift_14

输入 Alamofire 搜索

然后就发现了, Alamofire 的配置信息.

看来推断没错, Swift Package 配置信息就是存储在此处.

swift packagemanager_iOS_15

CocoaPod 和 SPM 是否能一起使用

可以的, 完全没问题, 如下图

swift packagemanager_iOS_16