首页 > 代码库 > 3-cocoaPods私有库制作

3-cocoaPods私有库制作

CocoaPods 私有库制作方式一
1. 新建私有git库

可以gitlab,也可以github,当然github是公共的,私有的得交费。


2. 创建工程

可以使用pod命令来自动创建,命令:

pod lib create TestKit

中间会有很多配置,根据自己的需求配置即可。

如果想自动创建工程,那么需要将你的代码放到一个文件夹下,自己制作.podspec文件即可。

pod spec cretae TestKit

创建完之后,将工程提交到远端git库


3. 添加私有库到本地pod库:

命令:

pod repo add TestKit git@git.xxxx.git

git@git.xxxx.git: 远端库的地址

成功之后,我们可以查看一下:

cd ~./cocoapods/repos

open .

 这里除了master之外,新增了一个TestKit文件夹


4. 开发代码,提交git,并打tag

开发完代码之后,修改一下.podspec 文件,然后提交git代码,并打tag
注意:这里.podspec 中的version必须跟git所打tag版本一致

git add --all
git commit -m "update podspec"
git push origin master
git tag 0.0.1
git push --tags

如果不确定podspec有么有问题,可用先执行【5】pod检测,再打tag


5. 检测一下pod库是否可用

命令:

pod lib lint

如果有警告可以使用命令忽略:

pod lib lint --allow-warnings

如果有问题,那么一般是podspec配置问题。

成功提示:

TestKit.podspec passed validation.

 

6.本地测试库是否可用

新建工程

pod init 

修改podfile文件, 并添加上本地库路径

pod ‘TestKit‘, :path => ‘/Users/xxx/Documents/TestKit‘

拉取pod代码

pod install

成功后,可用看到我们的库并没有在pods里面,而是在Development Pods里面,可用先检测代码有没有问题。


7.提交本地库,向Spec Repo提交podspec

命令:

pod repo push TestKit TestKit.podspec

如果没有什么问题,那么恭喜成功了。


8.测试一下

pod搜索一下:

pod search TestKit 

在新工程中的podfile文件中,新增

pod ‘TestKit‘

如果报错,拉取不下来,可以更新一下pod

pod update 

 如果还是报错:

[!] An unexpected version directory Assets was encountered for the /Users/xxx/.cocoapods/repos/TestKit Pod in the TestKit repository.
修改podfile文件:

pod ‘TestKit‘, :git => ‘https://xxx/TestKit.git‘

 此处git是你远端git库的地址,如果git@git.xxxx.git不可以,换成https的地址即可。


CocoaPods 私有库制作方式二

此方式是使用公共库的制作方式,将代码以framework的形式呈现,那么源码也是别人无法看到的。这种方式需要维护两个git库,一个是源码库,一个是framework库。维护相对来说麻烦一些,但是制作的跟公共库一样,使用方便。


1. 新建git私有库

新建一个git库工程


2. 创建工程

创建的方式跟法【一】的一样


3. 检测podspec文件是否正确

命令:

pod spec lint TestKit.podspec

此处很可能有问题,根据问题提示修改即可


4. 提交远端,并打tag

命令参考法【一】


5. 打framework包

使用cocoapods-packager工具,可以使用命令查看自己电脑有没有安装:

gem list

如果没有的话,安装一下:

sudo gem install cocoapods-packager

如果报错,没有权限,新系统修改一下

sudo gem install -n /usr/local/bin cocoapods-packager

使用打包命令:

pod package TestKit.podspec --force

此处--force是强制覆盖的意思

如果你想把framework放到其他目录下,切换到你想存的目录下, 把TestKit.podspec路径补充完全即可

cd xxx
pod package xxx/xxx/TestKit.podspec --force

注意:tag很重要,必须保证跟TestKit.podspec中的一致,因为打包会根据.podspec文件中的version去git库找tag标记对应的代码。


6. 新建framework库

一般是公有的,其他人可以访问的,比如:github


7. 新建fremwork工程

跟上面2新建工程一样,区别在于将源码替换成framework

如果不想新建,可以直接复制之前新建的工程替换即可。

新建完,可以再检测一下podspec文件是否正取。

完成后,提交git,并打tag


8. 上传pod官方库

使用cocoapods-trunk工具

如果没有的话,安装一下:

sudo gem install cocoapods-trunk

如果报错,没有权限,新系统修改一下

sudo gem install -n /usr/local/bin cocoapods-trunk

发布podspec:

pod trunk push TestKit.podspec

如果没有问题,可以搜一下:

pod search TestKit

如果没有搜到,可以重新setup一下pod,这个过程是比较漫长的,会重新拉取pod官方库master文件:

pod setup

 

9. 测试

直接在podfile文件中添加

pod ‘TestKit‘

 

OK, 大功告成,以后的维护工作,就是重复这个步骤(不用新建git库、pod工程),修改完代码别忘了打tag,修改podspec文件version。

 转载自http://semyonxu.com

3-cocoaPods私有库制作