这里以上传到码云为参考:
首先要制作一个远程pod仓库的索引文件库, 用来存储私有库的specPods文件
这里对于git代码提交采用SSH的方式, SSH方式的好处是可以不使用账号,密码进行提交, 只需要有一对Key就可以进行提交
命名可以随意命名, 我一般命名为XXXSpec
然后终端使用下面命令将远程索引库添加到本地索引库里面,因为每次pod install时会在本地索引库里面查询索引,以便于快速下载安装库
pod repo add TestSpec git@gitee.com:RGiOS/TestSpec.git
添加成功后, 本地cocapods库里面可以看见新添加的索引库
本地cocapods库地址 /Users/dream/.cocoapods/repos
有时也会有报错, 如下图
可能是我的码云私有库里面已经添加了一个索引库的原因,
我的做法是:
cd /Users/dream/.cocoapods/repos
删除原先的Spec索引库
rm -rf Spec
然后添加远程Spec索引库
pod repo add Spec git@gitee.com:RGiOS/Spec.git
在执行添加远程TestSpec索引库 (就莫名其妙可以添加了)
pod repo add TestSpec git@gitee.com:RGiOS/TestSpec.git
原因也有可能是我没有 cd到.cocoapods/repos目录再添加的原因
创建组件库测试工程
pod lib create 组件名
终端会提示一系列的选择
选择完后, 会自动创建一个测试工程
注意:组件或框架代码放入Classes目录下
例如在 Class里面添加了两个分类
cd 到Example文件夹下, 执行pod install 就可以看到库文件被下载, 可以进行测试
cd /Users/dream/Desktop/RgZujian/RGTestZUjian/Example
pod install
查看podFile文件目录, 可以看到path指向的为本地路径
cd /Users/dream/Desktop/RgZujian/RGTestZUjian
git add .
git commit -m "XXX"
提交本地之后, 需要在远程创建代码仓库, 最好与本地库名字一样,注意创建仓库时,模板什么的都不要勾选,因为pod lib create 命令默认会生成忽略文件,readMe等文件
执行下面命令进行提交
//链接到远程仓库
git remote add origin https://gitee.com/RGiOS/RGTestZJ.git
//本地代码进行提交到远程
git push -u origin master
此时只是有了一个远程库,并不能供其他人使用
如果想要自己的远程库供其他端使用, 必须修改podSpec文件,并打tag进行上传
git tag 0.1.0
git push --tags
//将远程索引添加到本地索引库里面
pod repo push TestSpec RGTestZJ.podspec --allow-warnings
tag的版本号要与podspec里面的版本号一致
如果项目中使用到了两个不同源的第三方pod 库,
如果导入两个不同源的框架
pod 'AFNetworking’, :git=>’https://github.com/AFNetworking/AFNetworking.git’
pod 'Zujian01_iOS’, :git=>’https://gitee.com/RGiOS/Zujian01_iOS.git’
也可以在最podfile文件最顶部设置soure
source 'git@gitee.com:RGiOS/Spec.git'
source 'git@gitee.com:RGiOS/TestSpec.git'
platform :ios, '8.0'
target 'TEST' do
pod 'Zujian01_iOS'
pod 'RGTestZJ'
end
soure可以通过 pod repo命令查看到