cocoapods私有库:pod subspec 子模块

cocoapods私有库创建子模块的形式:

image.png

1.修改项目文件夹结构
image.png

2.提交到远程仓库
git add .
git commit -m "文件夹结构调整"
git push -u origin master
//tag 值增加
git tag 0.5.0
//推送tag到服务器上
git push --tags
3.修改.podspec文件
image.png

4.终端cd到本地仓库TestLib文件加下, 调用pod lib lint --allow-warnings和 pod spec lint -allow-warnings检测TestLib.podspec文件
image.png

5.终端cd到TestLib文件夹, 执行命令 pod repo push 私有索引库名 podspec文件名, 将podspec添加到本地私有索引库, 然后自动push到远程索引库:pod repo push TestSpec TestLib.podspec --allow-warnings
在校验的时候遇到了一些坑,报错:- ERROR | [iOS] unknown: Encountered an unknown error (Pod::DSLError) during validation.
image.png

经过一系列搜索发现是tag问题,然后重新打tag,并push到远程仓库。再联网校验时遇到这种错误:
ERROR | [iOS] unknown: Encountered an unknown error (Unable to find a specification for SDWebImage depended upon by TestLib/LoadImage
image.png

这是因为依赖的三方库是官方pod库,添加上源:
pod spec lint TestLib.podspec --allow-warnings --sources='https://github.com/CocoaPods/Specs.git'
![image.png](https://upload-images.jianshu.io/upload_images/6351042-cf44996f49ed5a04.png?imageMogr2
/auto-orient/strip%7CimageView2/2/w/1240)
6.提交本地podspec到Specs仓库:
pod repo push TestSpec TestLib.podspec --allow-warnings --sources=https://e.coding.net/wojia/testdemo/TestSpec.git,https://github.com/CocoaPods/Specs.git
image.png

7.项目中使用TestLib库
有三种用法
pod 'TestLib' 引入pod库中所有模块
pod 'TestLib/Capture' 只引入GTimer模块
pod 'TestLib', :subspecs => ['Capture', 'LoadImage','User']

ps:如果子模块中依赖第三方,需要添加dependency

image.png

并且在执行pod spec lint 会报错,上面也提到了
image.png

在此也强调下,因为依赖的三方库是官方pod库中的,添加上源:pod spec lint TestLib.podspec --allow-warnings --sources='https://github.com/CocoaPods/Specs.git'

你可能感兴趣的:(cocoapods私有库:pod subspec 子模块)