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'

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • pod私有库创建详细教程pod私有库搭建完成后,给私有库创建子模块如图的形式 一、修改文件夹结构 二、上传改动到远...
    Theshy阅读 19,934评论 4 13
  • 最近在研究使用CocoaPods创建私有库,因为公司要使用组件化,然后打算用cocoapods来管理各个组件,那就...
    zhou某某阅读 3,080评论 0 29
  • 在创建 cocoapods 私有库时遇到很多坑,在网上找来找去超级麻烦,毕竟每个人遇到的问题都不一样。现在将我做的...
    春阳_fc96阅读 6,690评论 0 3
  • 1、创建私有Spec Repo Spec Repo是什么?它是所有的Pods的一个索引,就是一个容器,所有公开的P...
    圉湢阅读 1,729评论 0 3
  • 在上一篇的基础上, 本篇进行远程私有仓库的版本升级。0.1.0私有库下面是只有两个文件,目录如下: 1.本地Tes...
    pigLily阅读 1,026评论 0 2