iOS包依赖管理工具(四):Swift Package Manager(SPM)了解篇

一、前言

至从苹果 WWDC 19 推出了 Swift Package Manager 后,我们不再只局限于使用 CocoaPods 这唯一的第三方包管理工具,现有项目还是会延续使用 CocoaPods,但新的项目,特别是打算完全使用 Swift 开发的项目,可以考虑使用 SPM 来作为包管理工具,也是一个不错的选择;当然,CocoaPods 与 SPM 共用也并不冲突,不过维护两份也是较麻烦的,我这人偏懒。

二、SPM 使用

啥也不说,先按照我之前的第一个教程《Swift5从0到1系列(一):删除main.storyboard》来创建一个新项目,如下:

new-proj.png

2.1、两种方式打开 SPM

方式一(通过 PROJECT):

proj-spm-add.png

方式二(通过 Xcode 菜单):

menu-spm-add.png

2.2、添加依赖源

这里,我选择 AFNetworking 的 Swift 版本:Alamofire

spm-alamofire.png

点击 Next,SPM 会先检查源是否正确,成功就会出现如下图:

spm-verify.png

再点击 Next,下载源到项目中(可能会比较慢):

spm-download.png

完成后,会如下图:

spm-finish.png

点击 Finish 时,无论我们使用的是哪种方式添加的包依赖,都会以『方式一』的结果展现:

proj-spm-finish.png

2.3、更新依赖

更新依赖也比较简单:菜单 ->『File』-> 『Swift Packages』->『Update to Latest Package Versions』即可,如下图:

spm-update.png

三、测试依赖源

本文使用的是 Alamofire,我们使用官方的测试代码:

import Alamofire

AF.request("https://httpbin.org/get").response { response in
    debugPrint(response)
}

执行代码,结果如下:

spm-test.png

四、其它

4.1、源码存放位置

我们可以通过『Show in Finder』直接打开源码所在的目录,如下图:

spm-src-pos.png
spm-src-dir.png

实际上,这就是该项目在 Xcode 中编译缓存的地方。

4.2、Project 依赖配置

本文都是通过图形化的操作添加的源码和依赖关系,最终都是反应在 PROJECT 文件中,该文件是个目录,里面含有整个项目的配置信息:

proj-config.png

通过查看 project.pbxproj 文件,可以看到我们的 SPM 依赖配置:

pbxproj.png

推荐阅读更多精彩内容