远程私有库方案

一.创建本地和远程链接的描述库

1.在Coding.net上创建一个用来保存podspec描述文件的私有库并获得仓库的地址

创建远程描述私有仓库

2.使用pod repo add 私有库名 远程私有库地址建立本地和远程的描述连接
例如:pod repo add FMLFMSpecs https://git.coding.net/xiaofeixia09/FMLFMSpecs.git

如果报错, 没有权限,可以通过命令行输入ssh-keygen获取公钥和私钥,并将公钥填入Coding.net

获取到的公钥和私钥

公钥填入步骤

3.使用pod repo查看当前的cocoapods库

cocoapods库

二.创建本地仓库并填写描述信息

1.在Coding.net上创建一个项目工程,用来存放库地址和测试文件地址:FMLFMBase

2.在本地使用pod lib create 测试工程名创建一个测试工程

测试工程

3.找到项目中的ReplaceMe.m文件并删除

找到文件

  1. 将需要使用的库放在该Classes文件夹下,修改.podspec文件。需要注意的是,修改source为远程仓库名称(注意添加使用的私有库)
    重要的描述文件

5.使用pod install安装项目到xcode,然后编译看是否有错

6.使用pod lib lint --allow-warnings进行.podspec文件验证并忽略错误,它会对改文件夹下的所有描述文件进行本地验证

验证结果

7.使用pod spec lint进行远程验证

远程仓库验证

如上出错需要我们上传本地代码到远程仓库,并且对代码进行tag标签设置

三.上传本地代码到远程仓库并打tag标签

1.使用如下命名进行git文件提交

git add .
git commit -m '注释'
git remote add origin https://git.coding.net/xiaofeixia09/FMLFMBase.git

如果git上已有代码文件:
1.使用 git pull origin master --allow-unrelated-histories 拉取远程仓库代码到服务器
2.将拉取后的文件再次调用 git add .和 git commit -m '注释'

git push origin master

2.对代码进行tag标签设置 (注意:tag的版本得和. podspec显示的版本保持一致)

设置tag

可以在Coding.net查看标签结果
tag结果

四.上传本地描述文件到远程私有仓库

1.使用pod repo push FMLFMSpecs FMLFMBase.podspec将本地描述文件提交到远程描述仓库
如果因为警告导致报错,可以添加--allow-warnings进行警告忽略

警告

成功上传

2.查看Coding.net进行确认

上传结果

3.在其他项目中导入可以直接使用远程私有仓库了


pod search结果

4.检索问题检查


检索问题

五.测试刚创建的repo

1.如果在项目中导入,需要在Profile填写source信息,因为默认是从cocoapods的master进行检索

source信息

source地址就是新添加的repo的URL


image.png

2.但是如果只指定了刚才创建的repo source,在导入共有库的文件时是无法安装的


安装出错

需要做的是将共有库的URL地址也作为source加入到Profile文件中

六.删除本地repo

pod repo remove '库名'

ps.在添加资源的时候,应该放在Repleace.m文件的上层目录:Assets目录


Assets目录位置.png

并且去掉.podspec文件中的resource_bundles注释

resource_bundles

使用的资源文件不一定是png,可以使任意类型

更多文章可以参考:https://guides.cocoapods.org/making/private-cocoapods.html

推荐阅读更多精彩内容