应用CocoaPods创建私有仓库

这算是正式的第一篇,言归正传,记录一下如何把之前写的一个工程通过pod方式添加供别人使用。

创建代码仓库:

默认你已经写好了一个工程,推送到git服务器上,github或者gitlab都可以。

给稳定版本打上tag,一般都是版本号,并推送到远端:

1
2
$ git tag -m 'first tag' '0.1.0'
$ git push --tags
创建podspec文件:
1
$ pod spec create 工程名.podspec

这样会在当前目录创建一个.podspec文件,这是一个配置文件,里面记录了工程的名字,版本号,远端仓库的链接地址,对外暴露的文件等,总之拿到了.podspec文件就可以使用对应工程了。每一个工程对应有一个,不同版本之间也是不一样的。默认已经填写了好多,根据实际情况将其修改正确,或者可以从网上找个著名的开源库参考它是怎么写的。

像我这个工程的配置文件是这样的

此处输入图片的描述

验证podspec文件有效性:

1
$ pod lib lint

看到类似 * passed validation.算是验证通过,否则根据提示去修改。

还要添加LICENSE文件

本地测试:

随便找个工程,podfile文件中添加类似如下

1
$ pod 'AMTXibHelp', :podspec => '~/Users/kaisa/PrivateRepo/AMTXibHelp/AMTXibHelp.podspec' #指定podspec文件
测试通过后创建spec仓库:

注意,这里是第二个仓库,刚才第一个是用来存放工程代码,这个是用来存放配置文件。

若远端已经有了私有仓库,直接clone到本地,比如淘世界的私有仓库地址是http:gitlab.XXX/AMTPodSpecs.git, 会在本地得到一个叫做AMTPodSpecs的文件夹,然后创建自己的子仓库,类似下图

此处输入图片的描述

然后把修改推送到远端即可。

实际使用:

因为同时使用了私有库和(默认的)共有库,所以要写清楚source

# private
source 'http://gitlab.XXX/AMTPodSpecs.git'
# public
source 'https://github.com/CocoaPods/Specs.git'

target 'ReactiveCocoaDemo' do
pod "AMTXibHelp", "0.1.0"
end

大功告成。