CocoaPods遠程私有庫

? ? ? ?接著上兩篇文章CocoaPods公有庫CocoaPods本地私有庫,這篇就來講解下CocoaPods遠程私有庫,啥叫CocoaPods遠程私有庫?CocoaPods遠程私有庫就是庫存在遠程倉庫,權限歸自己管理,不是公開的,但可以通過source地址給伙伴們獲取自己的私有庫。公司需求要用CocoaPods管理模塊開發,一般都是做遠程私有庫,公司的代碼不能公開。

一、創建私有索引庫(Spec Repo)

? ? ? ?私有索引庫Spec Repo可以這樣理解,公有索引庫就是存放在CocoaPods的遠程倉庫且是公開的,大家都可以用到的,安裝CocoaPods的時候已經自動添加索引repo到本地了,其中master就是CocoaPods公有的索引repo。所以自己要創建一個私有的遠程倉庫存放索引庫并把索引repo添加到本地,這樣就不是公開的了,是自己私有的。如圖所示:

? ? ? ? 代碼托管除了GitHub還有碼云coding,GitHub的私有項目時要錢的,其他兩個是免費的,我這里就用碼云來創建私有索引庫,創建點擊右上角的+選擇新建項目,如圖所示:

? ? ? ?創建私有索引庫完成后,使用命令 “pod repo add ?repo的名(如CocoaPods自帶的master) ?碼云項目spec的地址 ” ?來創建本地spec庫,這里碼云項目spec的地址有https和ssh,如果用https的話,別人要用到你的庫就要給密碼他,這樣不方便,ssh不需要輸入密碼,但第一次的配置的話要配置公鑰。

? ? ? 如果沒有配置好公鑰,執行創建本地spec庫就報沒有權限的錯誤,如圖:

? ? ? ? 然后就是生成ssh公鑰,通過命令 $ ssh-keygen 來生成ssh公鑰,通過提示操作輸入保存的密碼,我這就不演示了,我之前已經生成過,進入.ssh的路徑,用xcode打開id_rsa.pub文件,復制內容。

? ? 把復制好的ssh-rsa填到碼云的ssh公鑰,如圖所示:

? ? ? ? 碼云配置好ssh的公鑰后,在用命令執行生成本地spec庫,結果通過了,然后在repos看到多了一個remoteLib的文件就證明成功了。

用到的命令:

????pod repo ? //查詢有多少本地repo

????ssh-keygen ?//生成ssh公鑰

????pod repo add remoteLib git@gitee.com:vxchj/RemoteLibSpec.git ? ? ? ? ?//remoteLib是repo保存的名字 ?????//git@gitee.com:vxchj/RemoteLibSpec.git是在碼云創建私有索引庫的地址????

二、創建Pod私有庫所需要的項目工程文件

????這里就不詳細講解創建私有項目了,大家用過的應該都知道,直接上圖展示。

????clone到本地桌面

三、通過CocoPods的官方命令創建Pod項目工程

? ? ? ?這也是在桌面創建pod項目工程,使用命令創建Pod項目工程文件 $ pod lib create?RemoteLibQiuyh ,RemoteLibQiuyh是工程名,然后等待一下會出現很多選擇,按照提示選擇輸入就OK,下載完就會自動打開工程。

打開剛剛下載好的工程,把自己要做的庫放進去,然后刪除多余的ReplaceMe.m文件,如圖所示:

????????替換好要上傳的庫之后,cd到項目中的Example,執行 $ pod install 安裝本地庫,看能不能安裝成功,如圖:這時候項目就相當于本地私有庫項目了。

四、pod項目關聯遠程私有倉庫、修改.podspec文件和上傳遠程倉庫

? ? ? ?有了本地私有庫項目后,我們要的是遠程私有庫,所以要修改.podspec文件并且上傳庫到倉庫。修改.podspec文件這里不多說,詳情請看CocoaPods公有庫,這一步可以在上傳到倉庫之后再修改也可以,我這里就先修改了,直接上圖,

剛才第二步驟已經創建遠程倉庫了,也clone到本地了,把通過pod命令生成的pod項目的.git文件替換成遠程私有倉庫的.git,這樣就關聯遠程倉庫了。

替換成.git文件關聯遠程私有倉庫后,就是上傳到遠程倉庫,詳細步驟我就不細說了,CocoaPods公有庫有說明

配置好.podspec文件,接著就是把代碼上傳到遠程倉庫,通過

??? $ git add . ; ?

????$ git commit -m “XX” ?;?

????$ git push。

打tag,打的tag一定要對應版本號,因為.podspec文件配置已經寫好跟版本號一樣的,通過

?? ?$ git tag '0.1.0' ;

? ? $ git push --tags;

上傳成功之后倉庫就有源代碼和打tag了

五、驗證pod是否能通過和提交pod

????????這里就不詳細說明了,請看CocoaPods公有庫,我就直接操作上圖,這里要詳說的是,我直接用pod spec lint --allow-warnings來驗證,--allow-warnings是忽略警告,然后就是提交到spec repo,通過命令pod repo push remoteLib RemoteLibQiuyh.podspec ,remoteLib是之前生成的本地repo名,可以進入repos查看,或者直接命令 pod repo查看,RemoteLibQiuyh.podspec就是你笨項目的.podspec文件,如圖所示就是通過驗證并且提交成功。(注:如果沒有改命令就要注冊CocoaPods賬號,詳情請看CocoaPods公有庫

提交pod成功后搜索一下看能不能搜索到,通過命令pod search RemoteLibQiuyh搜索,結果可以搜索的到,那證明制作完成。

用到的命令:

????$ pod repo ? ?//查詢repo

????$?pod spec lint --allow-warnings ? ?//遠程本地pod驗證

????$?pod repo push remoteLib RemoteLibQiuyh.podspec ? //提交pod到自己的私有索引庫,remoteLib是之前生成的本地repo名

????$?pod search RemoteLibQiuyh ? //查詢庫

六、如何使用

????????這不知你自己個人使用,還要整個團隊使用,那么怎樣使用呢,直接按照正常的邏輯直接在Podfile文件填寫pod 'RemoteLibQiuyh', '~> 0.1.0',然后pod install安裝??那當然不行了,所謂的私有庫就是不能所有的能都能用,只有你給誰用誰就可以用。

? ? ? ? 首先在在Podfile文件填寫source '私有索引庫的地址',官方的CocoaPods地址就是source 'https://github.com/CocoaPods/Specs.git',這時候你要填寫你對應的地址,可以用個pod repo 查看。如果要用到其他CocoaPods的第三方庫就要把官方的CocoaPods地址也添加上。如圖所示:

填寫完之后就通過pod install安裝。

注意:如果是隊友的話,直接這樣安裝時會報錯的,說沒有什么權限的,那是沒有在自己的git賬號設置中安裝ssh公鑰,其安裝方法跟步驟一一樣的,生成添加到賬號中的ssh公鑰,然后在pod install安裝就OK了。

七、版本更新

版本更新跟之前的步驟差不多,這就簡單說一下步驟:

????1.修改.podspec文件中的版本號;

????????s.version? ? ? = "0.1.1" //修改0.1.1版本,不能是之前的版本,要不提交不成功

????2.上傳到遠程倉庫;

????????$ git add . ; ?

? ??? ??$ git commit -m “XX” ?;?

? ??? ??$ git push。

????3.打tag并上傳;

????????$ git tag '0.1.1' ;

? ?? ???$ git push --tags;

????4.驗證pod并提交到pod。

?? ?????$?pod repo ? ?//查詢repo

? ?? ???$?pod spec lint --allow-warnings ? ?//遠程本地pod驗證

? ?? ???$?pod repo push remoteLib RemoteLibQiuyh.podspec ? //提交pod到自己的私有索引庫,remoteLib是之前生成的本地? ??repo名

? ??? ??$?pod search RemoteLibQiuyh ? //查詢庫


寫了好久,希望能幫到您,喜歡點個贊唄!!!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,837評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,196評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,688評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,654評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,456評論 6 406
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,955評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,044評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,195評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,725評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,608評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,802評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,318評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,048評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,422評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,673評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,424評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,762評論 2 372

推薦閱讀更多精彩內容