iOS组件化和podspec
Posted HWWY
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS组件化和podspec相关的知识,希望对你有一定的参考价值。
ios组件化
安装git和cocoapods
1、创建一个组健库,也就是要编写的组件,用下面的命令:
pod lib create 组件名称
2、首先在远程建立两个库,一个是存放spec文件,另外一个是存放组件业务的相关工程:
3、本地的两个文件夹下,git命令初始化,主要用来项目关联和远程仓库的,初始化命令如下:
git init
4、创建好了就是把本地两个库和远程的仓库关联起来,用git命令,首先进入你要提交的文件夹下面,命令如下:
git remote add orgin 仓库的地址(后面加git的那个)
5、然后进入业务组件的项目文件下面用git命令提交项目,代码如下:
git add .
git commit -m “文字描述”
git tag 0.1.2
git push origin master --tags -f
注意: tag 值需要和pod的版本号保持一致,这个只是提交你的业务组件内容部分,别提交pod管理spec的那个库。
6、本地的pod库和远程你建立的放spec文件的仓库关联,这里在关联的时候就添加进去了,所以不用考虑添加,代码如下;
pod repo add MySpecMain 仓库地址
注意: MySpecMain 是自己的pod名称,建立完了可以用 pod repo 查看。
7、验证这个spec文件是否是合法的,这个时候我们直接用的是线上的验证,代码如下:
pod spec lint --sources=‘自己的pod仓库地址,https://github.com/CocoaPods/Specs‘
7.1、这里这与spec文件的修改,可以参考git上的代码库,这里就不细讲解了。
7.2 、关于source_files文件的修改,主要注意项目的依赖关系和项目的目录层级。
8、在生成的业务组件库里面有个podspec结尾的文件,这时候就是添加podspec文件到本地的pod私有管理库里面,就是6生成的那个库,同事你要推送到你的仓库的 pod 私有管理库的远程分支上,一定进入业务项目的podspec文件中,代码如下:
pod repo push pod本地库 podspec文件 --sources=‘自己私有pod远程仓库地址 ,https://github.com/CocoaPods/Specs‘ --allow-warnings
注意: sources后面有几个要认证的git就写几个,用逗号隔开,这里我被坑了N次,也是不理解原理的原因吧,而且source和git的顺序有关有时候过去不换下顺序吧。
9、如果报错 The repo ‘‘pod私有库的名称‘..........‘ is not clean 的时候,执行下面命令:
pod repo update pod私有库的名称
10、链接如下:
https://www.jianshu.com/p/2625f103afee
### 下面是注意点和一些自己项目中的错误总结
10.1、有时候组件添加成功 ,但是 pod search 搜索不到响应的组件库,项目中用 pod install 没问题,这个当时项目中遇见的一个问题。
10.2、每次更新完毕后需要更新spec文件库,并且从新提交,不然会报错。 10.3、关于组件库在pod spec lint时候错误码如下:
- ERROR | [iOS] [MCOrderList/View] xcodebuild: Returned an unsuccessful exit code.
解决方案:更新版本号,从新打tag然后远程端验证就可以了,如果还是报错 pod repo update 自己的私有库名称就可以。
以上是关于iOS组件化和podspec的主要内容,如果未能解决你的问题,请参考以下文章