两个都是代码包管理工具
Swift PM
: S
Cocoapods
: C
背景
S: 苹果自研 19年推出
C: 第三方 11年推出
集成与使用
S: 与Xcode
天然集成,增删改查都可以在xcode项目中完成
C: 借助终端Ruby
环境,增删改查需要运行终端
cocoapods添加对应库需要维护这样一个
source list
包的管理
S: 去中心化,只需要一个具有Package.swift
文件的git地址即可使用对应代码包
C: 有一个中心repo
管理着源代码的索引,发布与下载都需要通过这个repo
生态与趋势
S: 除了国外的一些成熟SDK,国内的SDK不支持
C: 所有SDK包管理工具的首选支持
因为国内Swift本身都没有普及,而Swift PM中的库是无法给OC使用的。也就是说除非是纯Swift项目,否则无法使用,这一点原因让SwiftPM在国内普及成为了不可能
使用体验
从配置文件来看
S:
- 是在一个
.swift
文件中进行配置,配置是使用的class
对象,具有代码补全和编译检查 - 有了编译检查就不需要像cocoapods调用验证
pod lint
- 会Swift的同学基本没有学习成本,方法调用不清楚可以直接commond左键进入对应类文档
C:
- 脚本的编写形式,没有编译检查和补全
- 相关指令需要去cocoapods文档查阅,难记