pod私有庫

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

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

   私有索引庫Spec Repo可以這樣理解,公有索引庫就是存放在CocoaPods的遠(yuǎn)程倉庫且是公開的,大家都可以用到的,安裝CocoaPods的時候已經(jīng)自動添加索引repo到本地了,其中master就是CocoaPods公有的索引repo。所以自己要創(chuàng)建一個私有的遠(yuǎn)程倉庫存放索引庫并把索引repo添加到本地,這樣就不是公開的了,是自己私有的。如圖所示:
image
image
    代碼托管除了[GitHub](https://links.jianshu.com/go?to=https%3A%2F%2Fgithub.com)還有[碼云](https://links.jianshu.com/go?to=https%3A%2F%2Fgitee.com)和[coding](https://links.jianshu.com/go?to=https%3A%2F%2Fcoding.net),GitHub的私有項目時要錢的,其他兩個是免費的,我這里就用[碼云](https://links.jianshu.com/go?to=https%3A%2F%2Fgitee.com%2F)來創(chuàng)建私有索引庫,創(chuàng)建點擊右上角的+選擇新建項目,如圖所示:
image
   創(chuàng)建私有索引庫完成后,使用命令 “pod repo add  repo的名(如CocoaPods自帶的master)  碼云項目spec的地址 ”  來創(chuàng)建本地spec庫,這里碼云項目spec的地址有https和ssh,如果用https的話,別人要用到你的庫就要給密碼他,這樣不方便,ssh不需要輸入密碼,但第一次的配置的話要配置公鑰。

  如果沒有配置好公鑰,執(zhí)行創(chuàng)建本地spec庫就報沒有權(quán)限的錯誤,如圖:
image
    然后就是生成ssh公鑰,通過命令 $ ssh-keygen 來生成ssh公鑰,通過提示操作輸入保存的密碼,我這就不演示了,我之前已經(jīng)生成過,進入.ssh的路徑,用xcode打開id_rsa.pub文件,復(fù)制內(nèi)容。
image
image
把復(fù)制好的ssh-rsa填到碼云的ssh公鑰,如圖所示:
image
    碼云配置好ssh的公鑰后,在用命令執(zhí)行生成本地spec庫,結(jié)果通過了,然后在repos看到多了一個remoteLib的文件就證明成功了。
image
image

用到的命令:

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

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

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

二、創(chuàng)建Pod私有庫所需要的項目工程文件

這里就不詳細(xì)講解創(chuàng)建私有項目了,大家用過的應(yīng)該都知道,直接上圖展示。
image
clone到本地桌面
image

三、通過CocoPods的官方命令創(chuàng)建Pod項目工程

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

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

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

四、pod項目關(guān)聯(lián)遠(yuǎn)程私有倉庫、修改.podspec文件和上傳遠(yuǎn)程倉庫

   有了本地私有庫項目后,我們要的是遠(yuǎn)程私有庫,所以要修改.podspec文件并且上傳庫到倉庫。修改.podspec文件這里不多說,詳情請看[CocoaPods公有庫](http://www.itdecent.cn/p/1aa1ddcb4e4f),這一步可以在上傳到倉庫之后再修改也可以,我這里就先修改了,直接上圖,
image

剛才第二步驟已經(jīng)創(chuàng)建遠(yuǎn)程倉庫了,也clone到本地了,把通過pod命令生成的pod項目的.git文件替換成遠(yuǎn)程私有倉庫的.git,這樣就關(guān)聯(lián)遠(yuǎn)程倉庫了。

image

替換成.git文件關(guān)聯(lián)遠(yuǎn)程私有倉庫后,就是上傳到遠(yuǎn)程倉庫,詳細(xì)步驟我就不細(xì)說了,CocoaPods公有庫有說明

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

**$ git add . ; **

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

** $ git push。**

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

$ git tag '0.1.0' ;

** $ git push --tags;**

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

image
image

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

    這里就不詳細(xì)說明了,請看[CocoaPods公有庫](http://www.itdecent.cn/p/1aa1ddcb4e4f),我就直接操作上圖,這里要詳說的是,我直接用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公有庫](http://www.itdecent.cn/p/1aa1ddcb4e4f)**)
image
image

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

image

用到的命令:

** $ pod repo //查詢repo**

** $ pod spec lint --allow-warnings //遠(yuǎn)程本地pod驗證**

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

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

六、如何使用

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

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

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

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

七、版本更新

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

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

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

2.上傳到遠(yuǎn)程倉庫;

    **$ 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    //遠(yuǎn)程本地pod驗證**

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

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

作者:槐_df85
鏈接:http://www.itdecent.cn/p/b65d51c851b1
來源:簡書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容