模块组件化——私有pod制作详细教程

制作前的需要准备工作 
GitHub或者码云的账号(因为GitHub私有需要收费,接下来的制作我们使用的码云) 
Xcode 
终端 
在码云上创建两个两个项目,其中一个为私有,另一个是公开的 

如下图




模块组件化——私有pod制作详细教程_IOS
屏幕快照 2017-08-18 下午3.52.31.png 



模块组件化——私有pod制作详细教程_IOS
屏幕快照 2017-08-18 下午3.56.01.png 

名字的话随意,只要你不弄错就可以。


本地创建后续要被共享的Lib工程 

1.打开终端cd到你要创建的目录下(方便下我就放在桌面了)
2.然后输入pod lib create &;(私有仓库的名字) 命令创建一个待上传的模版,如图


模块组件化——私有pod制作详细教程_IOS
屏幕快照 2017-08-18 下午4.06.55.png 

3.之后会有选项对私有的pod库进行一些选择


模块组件化——私有pod制作详细教程_IOS
屏幕快照 2017-08-18 下午4.08.39.png 

此处在桌面会生成一个文件夹,包括工程目录及文件介绍。ps:ReplaceMe.m文件为示例文件,可删除。你自己写的文件放在此处


模块组件化——私有pod制作详细教程_IOS
屏幕快照 2017-08-18 下午4.15.06.png 
配置 .podspec 后缀文件 

s.name : 项目名
s.version : 版本号(需跟后面打 Tag 的值相等)
s.homepage : 项目主页(请注意,这里的地址跟git仓库地址有一定差别,请看清截图示例并区分)
s.license : 开源协议(这里我们选择 MIT )
s.source : Git 仓库地址(第二步所创建的仓库地址)
s.ios.deployment_target : 项目最低支持版本
s.source_files : 具体去那个目录下下载特定共享代码(注意:这里的地址与 .podspec 文件同级目录开始,,示例:PrivateLib/Classes/** /*表示如下目录下的所有文件
s.frameworks :项目所依赖的系统库(如果需要)
s.dependency :项目所依赖的第三方库(如果需要)


模块组件化——私有pod制作详细教程_IOS
屏幕快照 2017-08-18 下午4.23.20.png 

标记了红框的请务必记得修改,不然会出现各种奇葩的错误


验证 .podspec文件的格式的正确性 

终端cd到该目录,输入


pod lib lint 

模块组件化——私有pod制作详细教程_IOS
屏幕快照 2017-08-18 下午4.27.11.png 
将本地PrivateLib工程与远程私有 Git 仓库关联 
git remote add origin 远程私有仓库地址 
git pull origin master --allow-unrelated-histories 
拉去数据的时候会出现冲突,我们把head里的删掉,保留远程的 
git add . 
git commit -m "fix" 
git push origin master 

模块组件化——私有pod制作详细教程_IOS
屏幕快照 2017-08-18 下午4.30.17.png 

模块组件化——私有pod制作详细教程_IOS
屏幕快照 2017-08-18 下午4.30.57.png 

模块组件化——私有pod制作详细教程_IOS
屏幕快照 2017-08-18 下午4.32.54.png 

做完了这几步我们在码云中的私有项目可以看到如下图所示



模块组件化——私有pod制作详细教程_IOS
屏幕快照 2017-08-18 下午4.34.38.png 

然后本地和远程验证文件有效性


pod spec lint 

此处会有报错,请不要慌张,那是因为我们没有tag


模块组件化——私有pod制作详细教程_IOS
屏幕快照 2017-08-18 下午4.38.46.png 

执行以下代码


git tag -a 0.1.0 -m '0.1.0标签' 
git push –-tags 
pod spec lint 

模块组件化——私有pod制作详细教程_IOS
屏幕快照 2017-08-18 下午4.40.42.png 

好了此处一切ok。很关键


上传.podspec到第一个远程私有仓库 

1.首先进入 ~/.cocoapods/repos 目录下
2.然后创建一个私有仓库目录
pod repo add $(私有仓库名字) 第一个私有仓库地址


模块组件化——私有pod制作详细教程_IOS
![Uploading 屏幕快照 2017-08-18 下午4.42.54_128717.png . . .] 

如下图所示,我们可以看到shirePrivatePodspec文件已经存在了,如果不小心打错了也没关系可以删除的,删除代码如下


pod repo remove (文件名) 

3.最后向私有的 PrivatePodspec 远程仓库中提交 .podspec()
终端进入到之前桌面创建的文件,然后推送


模块组件化——私有pod制作详细教程_IOS
屏幕快照 2017-08-18 下午5.13.46.png 

4.最后就可以搜索你的私有库了


磕磕绊绊的折腾了一整天,参考了好多的文章,假如你们还有碰到一些问题的话可以参考下一下这几篇文章。写的不好,新尝试模块组件化的人少走点弯路


更新私有库,构建不同版本 

1.修改spec文件中的s.version 号;
2.修改更新code,提交code在Sourcetree打新的tag;
3.两步,新增加tag,在桌面创建的文件重新push一遍
4.pod search 验证一下结果;


使用私有库 

podfile里面添加如下代码


source'https://gitee.com/shirebella/shirePrivatePodspec.git' //自己的私有spec仓库 
source'https://github.com/CocoaPods/Specs.git' //cocoapods公共spec仓库 
target "TableViewTest" do 
pod 'shirePrivateLib', '~> 0.1.1' 
end 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值