iOS 开发--CocoaPods远程私有库从零开始学习

随着公司多个项目的开展,公司领导要求把一些常用的工具类制作成pod,这样就可以避免在多个项目中使用,避免来回拖入项目浪费时间。但是直到现在才抽出时间进行整理。

第一部分:私有索引库1-2;

1. 在码云(http://git.oschina.net/)上创建一个自己的远程私有索引库,用来存放私有框架的详细描述信息.podspec文件 

iOS 开发--CocoaPods远程私有库从零开始学习

 

2. 创建本地的私有索引库文件夹,并与远程私有索引库进行关联

2.1 $ pod repo(查看本地已存在的索引库)也可以跳过这一步

iOS 开发--CocoaPods远程私有库从零开始学习

2.2 添加本地私有索引库并与远程私有库

终端输入指令 pod repo add FCCPrivateSpec https://gitee.com/fangcengceng/FCCPrivateSpec.git

(如果已经配置过sse,可以直接用sse地址,我用的是没有配置过的普通的下载地址),接下来会要求输入码云账号名和密码。

iOS 开发--CocoaPods远程私有库从零开始学习


2.3 再次查看本地已存在的索引库 $ pod repo,多了一个FCCPrivateSpec的远程私有镜像库。

        如果想要移除刚才添加的镜像库,执行pod repo --remove FCCPrivateSpec命令就可以了


第二部分: 本地仓库和远端仓库podspec

3.在代码托管平台码云(http://git.oschina.net/)创建一个用来存放项目基础组件的仓库MyProjectBase .这个很重要

iOS 开发--CocoaPods远程私有库从零开始学习


 

4 快速创建模板测试工程(测试基础组件)

4.1 快速创建模板测试工程 在/Users/Funky/Desktop/CocoaPodRemoteLib路径下

cd /Users/Funky/Desktop/CocoaPodRemoteLib

终端输入指令 pod lib create MyProjectBase (快速创建) 

iOS 开发--CocoaPods远程私有库从零开始学习

备注:如果私有镜像库地址是用的sse那么就不会出现打马赛克部分。直接跳按照终端命令提示进行操作就可以了。


4.2 填写以上信息后Xcode会自动打开测试工程,在测试模板工程文件夹下,我们可以看到如下:

iOS 开发--CocoaPods远程私有库从零开始学习


 

4.3 把常用的Category去替换Replace.m文件,在回到Example路径下,重新执行pod install操作

终端输入指令 cd /Users/fang/Desktop/CocoaPodRemoteLib/MyProjectBase/Example

终端输入指令 pod install

如果出现pod installation complete!意味着完成了。

iOS 开发--CocoaPods远程私有库从零开始学习



此时打开模板测试工程,我们测试模版下面的pod内容已经发生了改变,我们可以进行修改了。

iOS 开发--CocoaPods远程私有库从零开始学习

 

5. 将上面的模板测试工程,注意:是提交到第四步创建的远程代码仓库MyProjectBase,而不是远程私有镜像库myprivatePods,

5.1.终端输入指令cd /Users/fang/Desktop/CocoaPodRemoteLib/MyProjectBase

编辑MyProjectBase 模版工程的podspec文件,我是用Sublime Text工具打开的。

 

iOS 开发--CocoaPods远程私有库从零开始学习




5.2。pod lib lint --allow-warnings校验本地podspec文件是否正确。

       如果有ERROR,则需要去一个个修改完成,例如某个Category的.m文件没有正确的引入依赖库等都会造成ERROR,解决好所有的ERROR后,验证结果如

这是一个警告,目前也并没有找到合适的解决办法,我们添加 --allow-warnings进行忽略

iOS 开发--CocoaPods远程私有库从零开始学习



5.3,保存本地仓库代码修改,并推送到远方MyProjectBase代码仓库,需要打tag标签与podspec文件中的一致。

iOS 开发--CocoaPods远程私有库从零开始学习


5.4,远端校验podspec文件是否正确。终端输入 pod spec lint --allow-warnings

iOS 开发--CocoaPods远程私有库从零开始学习


6. 将podspec文件推送到远端私有索引库FCCPrivateSpec.

    终端输入 pod repo push FCCPrivateSpec MyProjectBase.podspec --allow-warnings。

表示提交成功,此时远程私有库到此就已结束

iOS 开发--CocoaPods远程私有库从零开始学习

注意:提交后,依然会验证 podspec文件,验证通过后 会自动上传到在远程spec索引库,不信的话你可以看看在第二步创建的Spec远程私有索引库,私有索引库目录如图iOS 开发--CocoaPods远程私有库从零开始学习



 

7.如何在新工程中使用制作好的pod私有库。

 用xcode创建一个名称为test的工程。

iOS 开发--CocoaPods远程私有库从零开始学习iOS 开发--CocoaPods远程私有库从零开始学习



 

8, 修改基础工程进行版本迭代,本质上修改MyProject项目。并且修改是修改podspec文件tag,打标签,并切将podspec文件推送到远端私有索引库。

iOS 开发--CocoaPods远程私有库从零开始学习

  

代码推送到仓库并且podspec文件编辑完成后,

终端输入命令, pod repo push FCCPrivateSpec MyProjectBase.podspec --allow-warnings 推送到远程私有索引库。