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ù))如下圖
That's it!
Your private Pod is ready to be used in a Podfile. You can use the spec repository with the source
directive 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)看第二種
第一步 把工程寫(xiě)好飞涂,代碼推送到私有庫(kù)上
第二步 pod spec create GoGoGo 創(chuàng)建podSpec文件,配置文件十拣,配置后驗(yàn)證通過(guò)
- 使用這種方式的時(shí)候一定注意庫(kù)文件和podspec文件一定要放在根目錄封拧,默認(rèn)去根目錄尋找到podSpec文件然后去加載文件去
第三步 在Podfile寫(xiě)入
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ù)文件粘舟,依賴(lài)文件等等熔脂。