CocoaPods 系列之五 Private Pods (譯文)制作私有庫(kù)

CocoaPods 系列之一 制作公開(kāi)庫(kù)
CocoaPods 系列之二 更新公開(kāi)庫(kù)
CocoaPods 系列之三 Podspec 語(yǔ)法說(shuō)明
CocoaPods 系列之四 Podspec subspec
CocoaPods 系列之五 Private Pods(譯文) 制作私有庫(kù)
CocoaPods 系列之六 Private Pods 制作私有庫(kù)從0到1
CocoaPods 系列之七 我遇到的驗(yàn)證不過(guò)
做私有庫(kù)前的知識(shí)準(zhǔn)備:
1 先學(xué)會(huì)制作公開(kāi)庫(kù),否則白扯
2 會(huì)使用git

官方文檔傳送門

使用私有庫(kù)兩種方式,第一種有Spec的庫(kù),第二種不適用私有的spec庫(kù),我們先來(lái)看第一種

Private Pods

私有庫(kù)

CocoaPods is a great tool not only for adding open source code to your project, but also for sharing components across projects. You can use a private Spec Repo to do this.

CocoaPods是一個(gè)很好用的工具,不僅能添加公開(kāi)代碼。而且能夠制作私有庫(kù)。

There are a few steps to getting a private pods setup for your project; creating a private repository for them, letting CocoaPods know where to find it and adding the podspecs to the repository.

制作私有庫(kù)的步驟是:創(chuàng)建私有倉(cāng)庫(kù),把podspec添加到倉(cāng)庫(kù)。

1 Create a Private Spec Repo

1 創(chuàng)建私有的Spec Repo

To work with your collection of private pods, we suggest creating your own Spec repo. This should be in a location that is accessible to all who will use the repo.

為了制作私有庫(kù),我們建議創(chuàng)建你自己的Spec repo。私有庫(kù)的權(quán)限開(kāi)放給需要使用庫(kù)的人。

注解: 例如cocoapods的官方倉(cāng)庫(kù)https://github.com/CocoaPods/Specs,把所有的公開(kāi)庫(kù)的PodSpec文件放到倉(cāng)庫(kù)里,相當(dāng)于這是一個(gè)索引庫(kù)。

You do not need to fork the CocoaPods/Specs Master repo. Make sure that everyone on your team has access to this repo, but it does not need to be public.

2 Add your Private Repo to your CocoaPods installation

2 添加私有庫(kù)到你的電腦本地

命令:
$ pod repo add REPO_NAME SOURCE_URL

執(zhí)行完整個(gè)命令后

$ cd ~/.cocoapods/repos/REPO_NAME
$ pod repo lint .

注解:我在碼云制作了一個(gè)空的倉(cāng)庫(kù),然后執(zhí)行
pod repo add Haisheng git@gitee.com:haisenv/test_private_library.git
然后:
cd /Users/XXXX/.cocoapods/repos/Haisheng
執(zhí)行:
pod repo lint .
輸出:
All the specs passed validation.

3 Add your Podspec to your repo

3 添加Podspec文件到你的repo庫(kù)里

Make sure you've tagged and versioned your source appropriately, then run:

確定你已經(jīng)正確的制作了Podspec文件,然后執(zhí)行

$ pod repo push REPO_NAME SPEC_NAME.podspec

注解:這里我使用的是測(cè)試的公開(kāi)課,執(zhí)行了
pod repo push Haisheng HSTestLib.podspec
執(zhí)行這個(gè)步驟后 在我的本地和碼云私有庫(kù)的地址都多了一個(gè)東西(原來(lái)不只是改變本地,這個(gè)命令還把本地的repo推送到了倉(cāng)庫(kù))如下圖


1.png
2.png

That's it!

Your private Pod is ready to be used in a Podfile. You can use the spec repository with the sourcedirective in your Podfile as shown in the following example:

好了,你的私有庫(kù)已經(jīng)準(zhǔn)備好在Podfile中使用了。

How to remove a Private Repo

如何移除私有庫(kù)

pod repo remove [name]

再來(lái)看第二種

第一步 把工程寫好,代碼推送到私有庫(kù)上

第二步 pod spec create GoGoGo 創(chuàng)建podSpec文件,配置文件,配置后驗(yàn)證通過(guò)

  • 使用這種方式的時(shí)候一定注意庫(kù)文件和podspec文件一定要放在根目錄,默認(rèn)去根目錄尋找到podSpec文件然后去加載文件去

第三步 在Podfile寫入

pod 'GoGoGo' , :git => 'git@gitee.com:haisenv/GoGoGoSdk.git',:branch => 'master'
這里不需要添加source。
使用這種方式,更改代碼后,更新就好,不需要tag,實(shí)用。

第四步

 pod  install

原理猜測(cè)

前提使用git管理代碼
一個(gè)使用庫(kù)的指定使用哪個(gè)版本,一個(gè)庫(kù)里那么多版本,所以要指定,或者分支或者tag;一個(gè)是提供庫(kù)的。如何把這倆者連接起來(lái),那么podSpec文件就是橋梁,它規(guī)定了庫(kù)的git地址,分享的庫(kù)文件,依賴文件等等。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容