iOS组件化开发,利用cocopods 创建自己的远程私有库。

https://www.jianshu.com/p/30884f628153

1. 在 码云(https://gitee.com)上创建一个自己的远程私有索引库,用来存放私有框架的详细描述信息.podspec文件

 
image.png

2. 创建本地的私有索引库文件夹,并与远程私有索引库进行关联

pod repo 查看本地已存在的索引库

 
image.png


2  pod repo add EdviinSpecs https://gitee.com/hdasj/EdviinSpecs.git添加远程私有索引库到本地

 
image.png

 

3.在 码云(https://gitee.com)创建一个用来存放项目基础组件的仓库MZCategory

 
image.png

4.快速创建模板测试工程(测试MZCategory)

pod lib create MZCategory

 

 
image.png


在测试模板工程文件夹下,我们可以看到如下结构:

 
image.png


用Category去替换Replace.m文件,在回到Example路径下,重新执行pod install操作
$ cd /Users/sea/Desktop/EdviinSpecs/MZCategory/Example
$ pod install
打开测试工程可以看到

 
image.png


我们可以在模板测试工程中进行修改和操作!

 

5.将上面的模板测试工程,提交到第三步创建的远程代码仓库

$ cd /Users/sea/Desktop/EdviinSpecs/MZCategory
编辑podspec文件 具体亏参考podspec用法

 
image.png


$ pod lib lint (验证上一步编辑的 podspec文件)
如果有ERROR,则需要去一个个修改完成,例如某个Category的.m文件没有正确的引入依赖库等都会造成ERROR,解决好所有的ERROR后,验证结果如下:

 

 

 
image.png


这是一个警告,目前也并没有找到合适的解决办法,我们添加 --allow-warnings进行忽略
$ pod lib lint --allow-warnings
此时 MZCategory passed validation 则说明验证通过

 
image.png

 

$ git status
$ git add .
$ git commit -m '编辑spec文件'
$ git remote add origin https://gitee.com/hdasj/MZCategory.git (将本地库与远程代码仓库进行关联)
$ git push origin master (提交到远程仓库)
$ git tag '0.1.0'(要与MyProjectBase.podspec文件中的tag值保持一致)
$ git push --tags(将tag提交到远程)
$ pod spec lint --allow-warnings(验证远程是否正确)
此时 MZCategory passed validation 则说明验证通过

6.将podspec文件提交到本地的私有索引库

$ pod repo push EdviinSpecs MZCategory.podspec

 
image.png

 

此时远程私有库到此就已结束

7.利用Pods使用我们自己的私有框架

xcode 新建工程testdemo
$ cd /Users/sea/Desktop/TestDemo
$ pod init
用Xcode打开编辑Podfile文件 

 
image.png


$ pod install
打开TestDemo.xcworkspace,此时在pod中可以找到远程私有库的代码并使用了

 
image.png

 

常见错误

1.报错 ··· error: include of non-modular header inside framework module ··· [-Werror,-Wnon-modular-include-in-framework-module]

解决办法:在pod lib lint 或者 pod spec lint 以及 pod repo push ....时候加上 --use-libraries

 pod lib lint --use-libraries
    #或者
    pod spec lint --use-libraries

    #当然,在提交的时候也要加上
    pod repo push <repoName> <podspec> --use-libraries
posted @ 2020-10-27 14:45  sundayswift  阅读(275)  评论(0)    收藏  举报