Xcode 11 中使用 SPM 管理第三方库

本文转载自:https://akringblog.com/2019/06/10/xcode-11-中使用-spm-管理第三方库/,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有。

今年 WWDC 的 Session What’s new in Xcode 11 中提到,Swift Package 将被视为“一等公民(first class)”,而管理 Package 的官方工具 Swift Package Manager(以下简称 SPM)将被集成到最新的 Xcode 11 中。 自 2017 WWDC 发布至今,SPM发布已经有两个年头了,但作为官方钦定的 Swift 包管理方案,SPM 在 iOS / Mac 开发圈中应用率一直不如 Carthage 和 Cocoapods 广泛,支持 SPM 的第三方库数量寥寥,不过相信在未来的发展中,这种情况应该会得到的改善。下面我将使用一个 Demo,简单介绍一下 Xcode 11 中 SPM 的大概使用方法和流程。

image

1 创建项目

创建一个基于 Swift 的 iOS 项目

image

2 查看 Xcode 11 中的 SPM 管理器

image

在项目管理页中,可以看到多出了一项名为 Swift Packages 的标签页,点击后即可打开 Xcode 内建的 SPM 界面。

3 添加依赖

此处我们以添加 Moya 库为例,首先点击左下角的 ‘+’ 号,并将 Moya 库的 GitHub 地址贴入地址栏中:

image

完成后点击 next,Xcode 即可自动获取第三方库的相关信息,并展示版本控制界面:

image

在选定第三方库的版本限定信息后,继续点击 next , Xcode 将会直接为我们下载此第三方库及其依赖文件,并完成集成。

image

因 Moya 同时支持多种响应式编程框架集成,在完成源码下载后 Xcode 还会提示你选用需要的框架,并指定集成到哪一个项目 target:

image

4 引用

完成以上步骤后,即可看到 Moya 及其相关依赖库都已经被顺利集成到项目中了:

[图片上传失败...(image-6482cf-1572854603241)]

此时我们即可尝试在代码中对框架进行引用了:

image

Xcode 11 中集成的 SPM 在整个工作流中体验非常顺滑,即没有 Cocoapods 需要等待中心仓库更新的烦恼,也没有 Carthage framework 集成的繁琐,相信 SPM 在不远的未来即将成为所有 Swifter 的首选包管理工具。

推荐阅读更多精彩内容