背景
随着移动端技术的发展, 组件化变得越来越普及, 今天就分享一下组件化的一种方案: 使用Cocoapods做私有库
一. 创建壳工程与私有库
-
- 创建一个空壳工程 XQDemo 使用Xcode创建一个空工程, 并且通过终端cd到当前目录
-
- 在当前目录执行
pod init
和pod install
, 生成workspace并打开
- 在当前目录执行
-
- 在工程根目录下创建一个Lib文件夹, 用来存放所有的私有库
-
- cd到Lib文件夹下, 执行
pod lib create XQExtension
创建一个pod库, 并且根据提示生成pod工程
- cd到Lib文件夹下, 执行
-
- 打开
Lib/XQExtension/Example
里的示例工程, 我们可以看到pod初始化的文件. 将ReplaceMe.swift 替换成我们自己编写的库.
- 打开
-
- 替换完成后, 在Exampl工程中进行
pod install
, 就可以加载到我们本地pods文件了. 至此, 我们就完成了一个本地pod库
- 替换完成后, 在Exampl工程中进行
-
- 我们在XQDemo的
Podfile
文件中引用XQExtension pod库, 并且执行pod install
, 就可以在主工程使用这个库了
- 我们在XQDemo的
二. 提交私有库到云
- cd到含有 .podspec文件的目录下, 执行
pod lib lint --verbose --allow-warnings
进行验证 - 验证通过后, 我们在远端创建一个代码仓库(github, gitlab等), 将代码上传上去, 并且根据 .podspec中 s.version对应的版本号, 给master打上对应的tag
3. 上传代码并且添加了tag后, 我们就可以将使用 pod trunk push XQExtension.podspec
命令将pod库上传到cocoapods了
4. 上传成功以后, 更新我们的repo, pod repo update
. 就可以使用我们的pod库了
如果私有库是公司内部的库, 需要注意一下几点
- 远端仓库要选用私密仓库, 或者是公司的gitlab
- 上传到cocoapods时, 要上传到公司的私有 Spec
- 在项目中引入时, podfile 要加上私有Spec的源