组件12:远程私有库方案(重要)

本地私有库不能满足团队开发的需要,存在一下问题:

  1. 需要主动指明路径,然后库的本地位置就不能动了,否则Podfile中又要修改path路径;
  2. 版本升级不好维护,无法安装0.1版本或0.2版本,因为本地库没法打标签;
  3. 多人合作开发非常不方便,因为库只是在本地的个人电脑上,团队的小伙伴没法用。
    所以必须要建立远程私有库。

了解一些远程私有库的知识,先来看看cocoaPods官方的索引库的位置:


cocoaPods官方的索引库的位置.png

查看本地库
pod repo,可以看到,目前只有master这一个库;

本地目前只有一个cocoaPods官方的索引库.png
一、创建自己的索引库:远程私有的和本地私有的
  1. 码市上先建好私有索引项目(也就是个普通的私有项目,只要忽略文件就行了,许可证书不用,反正是私有的);
  2. 命令行cd进入repos文件夹(/Users/UserName/.cocoapods/repos);
  3. pod repo add LFSpec0707 git@git.coding.net:mylovell/LFSpec0707.git;(SSH方式,需要先设置公钥,见本文)
  4. repos下多了个LFSpec0707索引库,pod repo可以看到有两个库,如下图。
自己的远程索引库LFSpec0707.png
二、本地私有库上传到远程
  1. 远程创建好项目: 码市上创建LFFMBase私有空壳项目(开源许可证书和忽略文件都不要,要全空,否则第一次上传代码要先合并代码git pull origin master --allow-unrelated-histories,然后还要处理忽略文件和许可证书的冲突,麻烦,要么就pod模板里面的忽略文件和许可证书先删再合并),远程链接备用;
  2. 本地准备好私有库的文件:pod lib create LFFMBase创建pod模板(这样测试工程Example相关文件和库相关文件都有了),拖入自己的组件库替代ReplaceMe.m,测试工程的Podfile的path指向本地库,pod install安装下,编译;
  3. 提交库文件:git add . ,git commit ,git ,git remote add origin https:地址,git push origin master,git tag '0.1.0' ,git push --tags 。如此以来,该远程库既有测试工程Example,又有库文件。
  4. 提交podspec文件:修改podspec文件,本地验证podspec,pod lib lint(验证当前文件夹下的podspec文件),pod spec lint(远程验证),如果验证遇到问题见下文。pod repo先查看本地有哪些索引库。提交podspec到本地私有索引库LFSpec0707,pod repo push LFSpec0707 LFFMBase.podspec(即提交LFFMBase.podspec到LFSpec0707)。push相关过程见图(podspec文件push的过程.png)
  5. search检验:pod search LFFMBase,可以搜索到库了。
  6. 宿主工程安装远程库:在宿主工程中安装使用LFFMBase,注意修改Podfile文件中要添加两个source。先pod repo查看有哪些库,在把私有source和共有cocoaPods的source都写进Podfile中,这样就会从这两个私有和共有source中去查找。pod install。(Podfile中添加私有和公有source.png)
本地库要上传到远程的文件.png
podspec文件push的过程.png
Podfile中添加私有和公有source.png
~~~关于设置公钥、私钥

1.私钥存放处


私钥存放处.png

2.命令行获取公钥私钥
ssh-keygen,默认路径,不设密码,按了4下回车,出来两个文件。

公钥私钥.png
Snip20170707_38.png

~~~本地验证pod lib lint、远程验证pod spec lint

提交podspec文件之前,先验证下。如果不本地和远程验证,在提交podspec文件的时候也会进行这两步验证。为了方便解决问题,建议单独进行这两步。

  1. 本地验证pod lib lint:验证当前文件夹(open .)下的podspec文件。本地验证不会验证s.source,不会验证tag。

  2. 远程验证pod spec lint:会验证s.source和tag。其中tag,远程库和本地都要有,且要一样,所以记得打tag。否则远程验证失败,如下图。

  3. --allow-warnings

未打tag造成的远程验证问题.png
~~~提交代码到远程,复习下
  1. 进入文件夹
    cd
  2. 提交到远程
    git add .
    git commit -m 'vvvvv'
    git remote // 查看是否有关联远程库
    git remote add origin https://git.coding.net/......... //关联远程库
    git push origin master
  3. 打标签tag
    git tag // 查看tag标签
    git tag '0.1.0' // 打tag
    git push --tags // 提交tags
~~~提交podspec文件,复习下
  1. pod repo // 看下本地索引库有哪些,有没自己要的
  2. pod lib lint // 本地验证
  3. pod spec lint //远程验证
  4. pod repo push LFSpec0707 LFFMBase.podspec // 提交某podspec文件到LFSpec0707私有索引库,该私有索引库再传文件到远程库(podspec文件push的过程.png)。
  5. --allow-warnings
~~~远程库和本地库位置
远程库和本地库位置20170707.png
~~~ 位置:索引库和已安装了的库

已安装了的库:/Users/fengluo/Library/Caches/CocoaPods

已安装了的库.png

所有描述文件存放处:/Users/fengluo/.cocoapods/repos

描述文件存放处.png
~~~ search_index.json

所在路径:/Users/chemf/Library/Caches/CocoaPods/search_index.json

search_index.json索引文件是由官方的master描述文件库和私有描述文件库共同建立的:可以推出当你pod搜索一个库时,不管是私有还是cocoaPods公有,都会进入这个json索引文件。

search_index.json索引文件与官方的master描述文件库和私有描述文件库的关系.png
~~~ 一些疑问 / 碰到的问题:私有库命名可以搜索到,却无法pod install

问题:一开始用码市,后来用码云,可能是本地缓存的码市的用户名和密码,导致无法进入码云。待解决。。。

Snip20170707_62.png

解决:在宿主工程的Podfile文件中没有添加私有库公有库的source,添加之后可以Pod install安装了。

记得添加私有库和公有库的source.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,671评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,442评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,524评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,623评论 1 275
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,642评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,584评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,953评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,621评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,865评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,608评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,698评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,378评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,958评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,940评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,173评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,419评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,425评论 2 342

推荐阅读更多精彩内容