Swift 中第三方库管理的三种方式

OC中,我们主要使用CocoaPods 来管理第三方库。
而在swift项目中呢?
这里列举出主要用的三种方式:
CocoaPods
Carthage
Swift Package Manager
接下来我们一一分析,各自的特点以及使用方式。

1. CocoaPods

特点

CocoaPods 是非常好的第三方依赖管理工具,它发布于2011,目前已经非常完善。

  • CocoaPods 支持项目中采用OC或 Swift语言
  • CocoaPods 搭建了一个中心库,第三方被收入到该中心库,所以没有收录的第三方库是不能使用CocoaPods管理的。
  • CocoaPods下载第三方后,会将其源代码编译成静态库 (.a文件)或 动态框架(.framework文件)的形式,并将它们添加到项目中,建立依赖关系。这种做法会修改Xcode项目属性配置依赖关系,这就是具有侵入性

使用方式

添加图片描述Step1: 切换到创建的工程目录(Practice)下
Step2: 在当前目录下,创建Podfile 文件
Step3: 打开工程目录,查看Podfile是否已存在

然后,编辑podfile

platform :ios, "9.0"
use_frameworks!

target "Practice" do
	
	pod "Kingfisher"
	pod "SnapKit"
	pod "R.swift"
	
end

⚠️注意:
1.":"和 “ios” 一定要挨着
2. “ios” 都是小写,大写也会报错

最后,在终端里安装pod
Swift 中第三方库管理的三种方式_第1张图片
当然,我是装过cocoapods的,如果你是第一次安装cocoapods,请参考这篇文章
CocoaPods 安装方法

2. Carthage

特点

Caethage 是 一个轻量级的项目依赖管理工具。

  • 主张“去中心化”和“非侵入性
  • Carthage所维护的第三方库,基本都是从github或私有git下载的,这就是去中心化
  • Carthage 下载第三方后,会将其编译成动态框架,由开发人员自己配置依赖关系,不会修改Xcode项目属性,这就是非侵入性

使用方式

首先,安装Carthage

yourMacName@MacBook-Pro ~ % brew install carthage

在你的终端里,输入命令行(此时,稍多等几秒)
结束后,再次输入此命令来验证是否已安装Carthage

yourMacName@MacBook-Pro ~ % brew install carthage
Warning: carthage 0.38.0 is already installed and up-to-date.
To reinstall 0.38.0, run:
  brew reinstall carthage

如下图所示,说明已经安装

然后,创建cartfile(先创建工程CarthagePractice)

yourMacName@MacBook-Pro ~ % cd /Users/yourMacName/Desktop/CarthagePractice 
yourMacName@MacBook-Pro CarthagePractice % touch cartfile
yourMacName@MacBook-Pro CarthagePractice % open .

Step1: 切换到创建的工程目录下
Step2: 在当前目录下,创建Podfile 文件
Step3: 打开工程目录,查看Podfile是否已存在

之后,编辑carthage文件

github "Alamofire/Alamofire" "5.0.0-rc.3"
github "onevcat/Kingfisher"
github "SnapKit/SnapKit" ~> 5.0.0

最后, update carthage

yourMacName@MacBook-Pro CarthagePractice % carthage update

我们会看到,update的结果是有些库支持不同平台,比如alamofire支持macOS,watchOS, tvOS and iOS.
因此,为了只加载iOS,我们会加上一些参数

yourMacName@MacBook-Pro CarthagePractice % carthage update --platform iOS

此时并不能直接引用第三方库,因为去中心化和非侵入性
因此需要有2处项目配置。
1.Swift 中第三方库管理的三种方式_第2张图片
2. 添加脚本
2.1 项目Target-> Build Phases -> + -> New Run Script Phase
Swift 中第三方库管理的三种方式_第3张图片
2.2
添加脚本内容/usr/local/bin/Carthage copy-frameworks
添加Input Files,比如
$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework
等等
Swift 中第三方库管理的三种方式_第4张图片

3. Swift Package Manager

特点

  • SPM 是Apple推出的,用于管理分发Swift代码的工具可以用于创建使用swift的库和可执行程序
  • 能够通过命令快速创建library或者可执行的swift程序,能跨平台使用,使开发出来的项目在不同平台上运行
  • 目前支持SPM的第三方库还不是很多,所以主要还是用前两种

使用方式

  1. 入口
    Swift 中第三方库管理的三种方式_第5张图片
  2. 输入frameworks地址Swift 中第三方库管理的三种方式_第6张图片
  3. 选择版本

Swift 中第三方库管理的三种方式_第7张图片
⚠️⚠️注意:在Xcode13/iOS15之后,File下没有Swift Packages了,你可以从这里进入
Swift 中第三方库管理的三种方式_第8张图片
同样搜索对应的库Swift 中第三方库管理的三种方式_第9张图片
之后就会显示如图,点击添加Swift 中第三方库管理的三种方式_第10张图片

双击对应的库可以选择版本Swift 中第三方库管理的三种方式_第11张图片
添加完成

你可能感兴趣的:(cocoapods,SPM,cocoapods)