美文网首页
cocoapods制作远程私有库

cocoapods制作远程私有库

作者: _RG | 来源:发表于2019-08-12 15:44 被阅读0次

这里以上传到码云为参考:

首先要制作一个远程pod仓库的索引文件库, 用来存储私有库的specPods文件

这里对于git代码提交采用SSH的方式, SSH方式的好处是可以不使用账号,密码进行提交, 只需要有一对Key就可以进行提交

\color{red}{1.创建一个远程私有库索引仓库}

命名可以随意命名, 我一般命名为XXXSpec

屏幕快照 2019-08-12 上午9.58.54.png

然后终端使用下面命令将远程索引库添加到本地索引库里面,因为每次pod install时会在本地索引库里面查询索引,以便于快速下载安装库

pod repo add TestSpec git@gitee.com:RGiOS/TestSpec.git

添加成功后, 本地cocapods库里面可以看见新添加的索引库
本地cocapods库地址 /Users/dream/.cocoapods/repos

屏幕快照 2019-08-12 上午11.23.29.png

有时也会有报错, 如下图

屏幕快照 2019-08-12 上午11.30.43.png

可能是我的码云私有库里面已经添加了一个索引库的原因,

我的做法是:

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目录再添加的原因

\color{red}{2.创建本地代码组件库}

创建组件库测试工程

pod lib create 组件名

终端会提示一系列的选择


屏幕快照 2019-08-12 上午11.52.59.png

选择完后, 会自动创建一个测试工程

屏幕快照 2019-08-12 上午11.54.50.png

注意:组件或框架代码放入Classes目录下

屏幕快照 2019-08-12 上午11.54.56.png

例如在 Class里面添加了两个分类

屏幕快照 2019-08-12 下午12.00.39.png

cd 到Example文件夹下, 执行pod install 就可以看到库文件被下载, 可以进行测试

cd /Users/dream/Desktop/RgZujian/RGTestZUjian/Example 

pod install
屏幕快照 2019-08-12 下午1.49.13.png

查看podFile文件目录, 可以看到path指向的为本地路径

屏幕快照 2019-08-12 下午1.49.38.png

\color{red}{3. 将创建的本地代码组件提交到远程}

cd /Users/dream/Desktop/RgZujian/RGTestZUjian 
git add . 
git commit -m "XXX"

提交本地之后, 需要在远程创建代码仓库, 最好与本地库名字一样,注意创建仓库时,模板什么的都不要勾选,因为pod lib create 命令默认会生成忽略文件,readMe等文件

屏幕快照 2019-08-12 下午2.50.51.png

执行下面命令进行提交

//链接到远程仓库
git remote add origin  https://gitee.com/RGiOS/RGTestZJ.git
//本地代码进行提交到远程
git push -u origin master

此时只是有了一个远程库,并不能供其他人使用
如果想要自己的远程库供其他端使用, 必须修改podSpec文件,并打tag进行上传

屏幕快照 2019-08-12 下午3.02.28.png
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命令查看到


屏幕快照 2019-08-12 下午3.42.56.png

相关文章

网友评论

      本文标题:cocoapods制作远程私有库

      本文链接:https://www.haomeiwen.com/subject/ncvhjctx.html