OC中,我们主要使用CocoaPods 来管理第三方库。
而在swift项目中呢?
这里列举出主要用的三种方式:
CocoaPods
Carthage
Swift Package Manager
接下来我们一一分析,各自的特点以及使用方式。
CocoaPods 是非常好的第三方依赖管理工具,它发布于2011,目前已经非常完善。
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
当然,我是装过cocoapods的,如果你是第一次安装cocoapods,请参考这篇文章
CocoaPods 安装方法
Caethage 是 一个轻量级的项目依赖管理工具。
首先,安装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.
2. 添加脚本
2.1 项目Target-> Build Phases -> + -> New Run Script Phase
2.2
添加脚本内容/usr/local/bin/Carthage copy-frameworks
添加Input Files,比如
$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework
等等
⚠️⚠️注意:在Xcode13/iOS15之后,File下没有Swift Packages了,你可以从这里进入
同样搜索对应的库
之后就会显示如图,点击添加