参考原文链接:cocoapods私有库创建
看过大神们的总结,我个人感受总体的归纳几点(如有不妥,请指正):
一:创建一个远程索引库(可以看作是装远程代码的容器)
问题1:
这里有个注意点,如果在后面的 push到索引仓一直报错,那么可以从你的folder中进入存放所有索引的地方(例如:/Users/xxxx/.cocoapods/repos/)找到你添加好的索引,删除掉,然后再add一次即可。
问题2:
在你要使用代码仓库代码的项目中,podfile文件中,下面两行很有意义:
#远程私有库 (这个就是我们自己的索引库)
source ‘https://git.coding.net/chuanqicom/WLPodspecs.git’
#公共库 (这个是cocoapods默认自带的公共库)
source ‘https://github.com/CocoaPods/Specs.git’
在编辑本地代码仓的索引文件(WLCategorys.podspec)的时候需要注意,有个地址别和上面的索引库写反了:
二:创建一个远程的代码仓(这个可以看作是即将被装到索引仓容器中的仓库)
这个就简单了:
1,本地 lib create 仓库;
2,直接往Classe里面装代码(也就是将工程中的replaceMe文件替换掉),然后记得 pod install一下,要不然你的Example工程不是最新的代码
3,将本地的更改commit,push到远端的代码仓中
4,将这次的更改打上tag,这个tag必须和上面 WLCategorys.podspec 文件中的版本一致(我这里直接是0.1.1)
5,校验: pod lib lint 和 pod spec lint 命令 进行podspec的本地校验和远程校验
6,校验通过,执行 pod repo push 索引库名 podspec文件名(这个是真正的将代码仓的更改同步到索引仓)
7,工程中的pod update一下刚才索引仓的更新即可。
三: 当引入自己的私有库的时候会有些错误:
-> FMHome (0.1.0)
- WARN | url: The URL (http://git.oschina.net/xxx/fmhome) is not reachable.
- ERROR | [iOS] unknown: Encountered an unknown error (Unable to find a specification for `FMHomeRecommendLib` depended upon by `FMHome`) during validation.
[!] FMHome did not pass validation, due to 1 error and 1 warning.
解决方法链接如下:
1> https://stackoverflow.com/questions/27303475/cocoapods-unable-to-find-a-specification-for-privatespec-depended-upon-by-pr
2> https://www.jianshu.com/p/1e5927eeb341
->如果遇到push远端索引库后,pod search xxxx,没有搜索到或者查询出错
解决方法:
Finder前往文件夹 '~/资源库/Caches/CocoaPods',删除缓存中的search_index.json文件,然后终端重新pod search xxx,重新创建这个search_index.json,如下:
Creating search index for spec repo 'xxxx'.. Done!
Creating search index for spec repo 'master'..
### pod 命令
$pod install --verbose --no-repo-update 该命令只安装新添加的库,已更新的库忽略
$pod update 库名 --verbose --no-repo-update 该命令只更新指定的库,其它库忽略
网友评论