私有Pod创建

2018-03-29  本文已影响0人  RichieQ
6.png

一、在代码管理网页上创建私有Pod源仓库,如下图

WX20180328-210902.png

二、在代码管理网页上创建私有Pod源,如下图

2.png

三、创建需要共享的工程

1、在Terminal中执行cd进入要创建项目的目录然后 执行以下命令
pod lib create 工程名
2、按模版提示信息创建模版,如下

4.png
3、自动生成的模版工程文件及说明
5.png
4、创建属于自己的代码
6.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 : 项目所依赖的第三方库(如果需要)

五、验证下 .podspec 文件的格式正确性,确保没有cocoapod错误和警告

在.podspec 同级目录下,在终端输入pod lib lint --sources='https://github.com/CocoaPods/Specs.git',如下图

7.png

如果出现include of non-modular header inside framework module错误的话,再pod lib lint后加--use-libraries,即

pod lib lint --sources='https://github.com/CocoaPods/Specs.git' --user-libraries
`

如果由于警告验证不通过的话,再加--allow-warnings

六、推送本地代码到远程私有Pod源

1、执行如下命令,关联远程库地址
git remote add origin https://gitee.com/RichieQuan/PrivateLib.git
2、执行如下命令,推送到远程库
git push origin master
第一次执行的话,由于未先pull下来,会报如下错误

8.png
3、执行如下命令,拉取远程代码,会遇到冲突情况
git pull origin master --allow-unrelated-histories
10.png
4、执行如下命令,打开冲突比对界面
git mergetool
11.png
5、解决冲突完成后,执行如下命令提交到远程
git add .
git commit -m 'PrivateLib commit'
git push origin master

6、打tag并验证
未打标签的时候,输入pod spec lint,会提示如下错误

12.png
打上标签并提交后,再验证就正确咯。如下
13.png

七、关联第一步创建的私有仓库

1、先进入到本地仓库,使用如下命令
cd ~/.cocoapods/repos
2、执行如下命令,关联本地创建的仓库
pod repo add PrivatePodspec 第一步创建的私有仓库git地址
3、向私有的 PrivatePodspec 远程仓库中提交 .podspec,如下

15.png
4、提交成功后,我们可以到本地仓库看到确实有PrivateLib私有库0.1.0版本,如下
16.png
同时,使用pod search PrivateLib也可以搜索到(仅公有仓库才能搜索到)

八、使用私有库

Podfile文件中加入私有库地址
source 私有库git地址
source 'https://github.com/CocoaPods/Specs.git'(如果有依赖第三方开源库要加这句话)
pod 私有库项目名 或者pod 私有库项目名/子模块(如果私库有子模块且只想引入子模块代码)
如果pod install,提示库不存在的话,执行下pod repo update更新下本地仓库配置,再执行pod install或者直接执行pod update(不推荐,有可能更新其他pod库版本)即可

八、私有仓库发布更新

1、私有库代码提交到远程仓库
2、创建新tag并提交到远程仓库
git tag 新版本号
git push --tags
3、输入下面代码验证
pod spec lint
4、验证通过后执行
pod repo push PrivatePodspec PrivateLib.podspec
5、如果提示no clean
cd ~/.cocoapods/repos/PrivatePodspec/PrivateLib
git clean -f
cd PrivateLib.podspec所在目录再执行
pod repo push PrivatePodspec PrivateLib.podspec即可

上一篇 下一篇

猜你喜欢

热点阅读