组件模板创建
方法
通过命令终端创建
步骤
打开终端, cd 到存放工程文件的目录
使用命令 pod lib create [组件名称] 来创建本地组件模板
使用该命令时, 实际上是在本地创建一个和组件名称相同的一个文件夹, 然后从Cocoapods上克隆一个pod模板到这个文件夹下.
对该组件模板进行配置
What platform do you want to use? [ iOS / macOS ] 使用什么平台? 输入 iOS
What language do you want to use? [ Swift / ObjC ] 使用什么语言? 输入 ObjC
Would you like to include a demo application with your library? [ Yes / No ] 想在模板中包含Demo演示程序吗? 输入 Yes
Which testing frameworks will you use? [ Specta / Kiwi / None ] 想使用哪些测试框架? 输入 None
Would you like to do view based testing? [ Yes / No ] 想做基于视图的测试吗? 输入 No
What is your class prefix? 你的类的前缀是什么? 输入 MP
此时就已完成本地组件模板的创建, 并自动打开该模板工程
在公司gitLab上, 经过权限配置, 进入组件目录, 创建一个 空白项目, 等级为 私有, 项目名称和组件名称一样即可
此时在公司的远端仓库下, 就创建了一个该组件的私有仓库地址
使用命令 pod lib lint 验证编辑过的.podspec文件是否可用
当验证时, 如果出现警告, 则视为验证不通过, 必须按照警告提示修改, 直到警告没有, 则验证通过.
如果是一些不必要处理的警告, 可以使用 --allow-warnings 来忽略.
在终端, cd 到刚才创建的组件模板工程目录下
使用命令 git remote add origin <公司gitLab上刚才创建的空白项目地址>
因为使用 pod 创建的项目, 因此本地目录本身就是一个仓库, 无需 git init 再次重新生成 git 本地仓库
此时将本地仓库和远端仓库进行关联
关联之后, 可以尝试使用命令进行第一次代码提交
git add .
git commit -am '描述'
git push origin master
使用命令 git tag -m "描述" "版本号" 给组件项目打上tag号
因为podspec文件中获取Git版本控制的项目还需要tag号, 所以我们要打上一个tag
版本号要与.podspec文件中的版本号一致
使用命令 git push --tags 推送tag到远端仓库
根据具体的使用情景, 来编辑podspec文件
以上全部执行通过后, 可以通过命令 pod search '组件名' 来搜索刚才创建的组件, 虽然此时可以搜索的到, 但是如果使用命令 pod install 会发现并不能把组件 pod 下来. 因为pod命令是从Cocoapods公共仓库去下载组件, 而我们的私有组件并没有存放在Cocoapods官方的公共仓库, 此时需要我们单独管理 .podspec 文件, 然后通过在 Podfile 文件中添加制定source源来获取私有组件
使用命令 pod repo add [版本管理库名称] <url> 来创建版本管理库.
版本管理库的创建, 一般只创建一次 ( OriginSpec ), 所有的组件.podspec文件都在远端的OriginSpec仓库中
组件库会不断更新, 每次更新都需要依赖版本管理库来寻找对应版本的组件, 该库即存储组件模板的.podspec文件, 因此版本管理库名称一般使用该组件名称, url为公司gitLab上管理.podspec文件项目的地址.
执行完, 会在本地 .cocoapods/repos/ 目录下发现一个文件夹, 即刚才创建的版本管理库, 下面将继续通过命令推送项目到 Cocoapods 上.
使用命令 pod repo push [版本管理库名称] [xxx.podspec] 推送本地依赖库到 Cocoapods
到此全部执行完毕.
测试
新建一个测试工程, 安装 Cocoapods
新建 Podfile 文件
添加 source: 到 Podfile 文件中, 添加 pod '组件' '版本号'
保存, 并执行 pod install, 测试通过