D217984570abb9fe749a701168070fe4
创建 Swift Packages

什么是 Swift Packages

Swift Packages 是一种包管理方式,可以类比成 CocoaPods 生成的库, Xcode 11后内置了 Swift Packages的管理工具,可以十分方便的在Xcode中创建、管理 Swift Packages。

下面我们就来亲自创建个 Swift Package

创建本地库(Local Package)

首先我们先从创建本地库开始。

什么是本地库?

熟悉pod的同学只要把它类比成 Development Pods就可以了。
本地库可以作为工程中的子项目,是一种很方便的对代码复用重构的方式。
本地库和正常发布的Swift Package最大的不同是不需要做版本管理,所非常轻量化,实现成本很低。
当然当你需要的时候你也可以随时把现有的本地库发布出去转成正常的 Swift Package。

ps: 不需要版本管理既是优点也是缺点,就看我们如何使用了,这里不做展开了。

接下来我们开始实战:

首先在 File->New Swift Package

选择把新建的 Swift Package 添加已有的项目中去

我们看下 Swift Package 的基本结构

包含了 Readme、Package.swift、Sources(源代码)、Tests(测试文件)。
Package.swift的用处之后会详细说明。

接着我们在需要的 target 中添加这个 Swift Package。

试着在 DemoLibrary.swift 源文件中写一个简单的结构体。

Binggo!主项目中已经可以正常import并且可以申明这个类型了。

新建一个 Local Package 就是如此简单。

发布Swift Package (publishing packages)

接下来我们创建一个需要发布的Swift Package

对外发布的Swift Package通常通过语义版本号(semantic versioning)来进行版本管理。
语义版本号方便库的接入方直接通过版本号来了解库的新版本的改动大小,由此判断是否需要升级。
语义版本号的格式类似于x.y.z
x是主版本号,当有破坏性API修改时需要对主版本号升级。

top Created with Sketch.