CocoaPods 公有库, 私有库的创建
* 公有库
-
- 创建远程公有库,我们是用trunk的方式
- 1.1: 注册CocoaPod.
$ pod trunk register <#邮箱地址#> <#用户名#>
- 1.2: 一般我们使用的是Github的邮箱跟用户名,注册之后,邮箱会收到发给你的邮件,我们点击链接跳转即可.然后回去终端上执行
$ pod trunk me
我们就可以查看到注册的信息,还可以随时查看自己发布过的Pods.
例如下图:
- 创建文件夹并上传到共享仓库
共享仓库必要文件:
1.共享文件(就是存放pod代码的文件)
2.LICENSE(开源许可证,MIT)
3.pod库的描述文件(记录你这个库的信息,这个是要给CocoaPods,根据你这个文件找到你的代码库)
创建代码仓库有两种:
A. 终端执行: --->终端执行后,跳过 步骤2.3
$ pod lib create 库名
B. 直接往下走
-
2.1 在github上创建代码仓库:
- 2.2 将项目clone到本地
- 2.3 在仓库目录下,在终端使用命令,创建.podspec文件
$ pod spec create <#文件名#>
- 2.4 修改.podspec文件:
Pod::Spec.new do |s|
s.name = "XTRunTimeTest" #名称
s.version = "0.0.1" #版本号
s.summary = "XTRunTimeTest是一个快速开发工具包 " #总结
s.description = "XTRunTimeTest是一个开发工具包,包含了一些控件封装,工具类等,可加快开发速度。" #描述
s.homepage = "https://github.com/xiongHenry/XTRunTimeTest" #主页地址
s.license = "MIT #协议
s.author = { "xiongtao" => "[email protected]" } #作者信息
s.platform = :ios #平台
s.source = { :git => "https://github.com/xiongHenry/XTRunTimeTest.git", :tag => "#{s.version}" } #源码地址
s.source_files = "Core/*.{h,m}" #源码文件
s.requires_arc = true #是否支持ARC
end
注意: .podspec文件中的homepage和source不支持ssh协议地址,所以我们得放入http/https地址.
解释:
s.name:名称,pod search 搜索的关键词,注意这里一定要和.podspec的名称一样,否则报错
s.version:版本号
s.ios.deployment_target:支持的pod最低版本
s.summary: 简介
s.homepage:项目主页地址
s.social_media_url:社交网址,这里我写的微博默认是百度,如果你写的是你自己的博客的话,你的podspec发布成功后会@你
s.license:许可证
s.author:作者
s.source:项目的地址
s.requires_arc: 是否支持ARC
s.source_files:需要包含的源文件
s.public_header_files:公开的头文件
//其他
s.resources: 资源文件
s.dependency:依赖库,不能依赖未发布的库,可以写多个依赖库
- 2.5 在完成.podspec文件的编写后,我们需要验证其合法性,是否有错误,在终端输入:
$ pod lib lint <#文件名#>.podspec
如果遇到警告的话,就执行:
这个就是忽略其警告
$ pod lib lint <#文件名#>.podspec --allow-warnings
如果没有问题就会出现
<#文件名#> passed validation.
如果出现错误,就根据提示的错误去修改
- 3.0 在检查代码,各种准确无误之后,我们就需要将内容添加并推送到远程仓库.
$ git add .
$ git commit -m "提交的内容"
$ git push origin master
- 3.1 给仓库打包tag标签,发布一个release版本
*标签相当于你的你仓库的一个包, 标签号要与.podspec文件文件中s.version = "0.0.1"对应,这样就可以在终端下输入一下命令:
$ git tag '0.0.1' #要打包的版本号
$ git push --tag #推送到远端仓库
- 4.0 发布自己的库到cocoaPods.
- 4.1我们将库的描述文件(.podspec文件)发布到cocoaPods,在终端下输入:
$ pod trunk push <#文件名#>.podspec
这个命令其实执行了很多操作:
A.更新本地 pods 库~/.cocoaPods.repo/master
B.验证.podspec文件格式是否正确
C.将.podspec文件转成JSON格式
D. 对master仓库 进行合并、提交.master仓库地址
5.0最后就是使用仓库了
我们可以通过命令搜索到:
$ pod search "<#库的名字#>"
如果没有搜索到就更新一下本地仓库信息,执行命令:
$ pod repo update
如果出现了库的信息,说明成功了,现在你就可以在你的Podfile文件里面添加使用自己的仓库了.
- 6.0. 更新维护
如果你需要更新,维护库- 更新你的.podspec文件中的版本号
- 重新打赏tag标签推送到远端
- 再将.podspec文件推送到远端
最后我们的公有库就完成了
* 私有库
私有的,我是直接在公司的GitLab上创建的,在github或者码云上是一样的.
- 1.0 创建版本库
- 1.1 跟版本库一样,我们在远端创建一个版本库
- 1.2 创建版本库后,到终端,我们将这个远程的私有版本库添加到本地.在终端输入:
$ pod repo add <#本地版本库的名称#> <#版本库的地址#>
这样就可以在~/.cocoapods/repos发现,多了一个你创建的一个储存库
- 2.0 创建代码库
- 2.1 创建私人代码库,创建的时候添加 LICENSE, README.md
- 2.2 将私人代码库clone到本地,并创建.podspec文件,并编辑.podspec文件,准备好你的代码放入(跟公有库操作一致)
- 2.3 准确无误之后,推送到远端
$ git add .
$ git commit -m "提交的内容"
$ git push origin master
- 2.4 然后打包tag,发布到远端
$ git tag '0.0.1' #要打包的版本号
$ git push --tag #推送到远端仓库
- 2.5 验证.podspec文件,在终端输入:
$ pod lib lint #验证本地连接
$ pod spec lint #验证远程连接
- 2.6 将库的.podspec文件推送到我们第一步的私有版本库中(也可以是已经有的自己的私有版本库).在终端执行:
$ pod repo push <#自己本地版本库名称#> <#描述文件名称#>.podspec
//或者忽略警告
$ pod repo push<#自己本地版本库名称#> <#描述文件名称#>.podspec --verbose --allow-warnings
这个命令的过程:
A.验证 xxxx.podspec 文件
B.拉取远程版本库 MySpecRepo
C.添加 xxxx.podspec 到版本库中
D. push到远程
这个时候我们就会发现在 ~/.cocoapods/repos/路径下我们自己的版本库中新增了刚才加入的仓库描述信息
- 2.7 最后,更新我们自己的版本库就可以了,终端执行:
$ pod repo update
这样我们的私有库就做完了
* 私有库的使用
使用私有库我们需要在我们的podfile文件里面添加上我们版本库的地址 (注:是版本库,不是代码库)
source '私有版本库的地址'
如果还使用的公有库,需要把公有库的版本库地址也写上
source '公有版本库的地址'
如果不知道版本库地址是多少,在终端执行:
$ pod repo list
就会出现版本库地址,如下图,箭头所指就是版本库地址
那么,我们的公有库跟私有库就完成了
相关文章:
https://www.jianshu.com/p/205a99c121a8