組件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閱讀 229,619評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,155評論 3 425
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,635評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,539評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,255評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,646評論 1 326
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,655評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,838評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,399評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,146評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,338評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,893評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,565評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,983評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,257評論 1 292
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,059評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,296評論 2 376

推薦閱讀更多精彩內容