官方原文地址
CocoaPods不僅僅是一個(gè)能為你項(xiàng)目添加開源代碼的非常棒的工具既棺,而且也能實(shí)現(xiàn)多項(xiàng)目共享組件楷掉。你可以通過私有庫(kù)來做到這點(diǎn)景鼠。
只需要很少的步驟就能讓你項(xiàng)目配置私有庫(kù);為它們創(chuàng)建一個(gè)私有倉(cāng)庫(kù)甘磨,讓CocoaPods知道哪里能找到它,添加對(duì)應(yīng)的podspecs到倉(cāng)庫(kù)中眯停。
1. 創(chuàng)建一個(gè)私有的倉(cāng)庫(kù)
要用起來你們收集的私有資源庫(kù)济舆,我們建議你創(chuàng)建一個(gè)自己的私有代碼倉(cāng)庫(kù)。這應(yīng)該是一個(gè)本地的莺债,對(duì)于需要使用這些資源庫(kù)的人來說是可使用的滋觉。
我們不需要復(fù)刻CocoaPods的Master倉(cāng)庫(kù)。保證你的團(tuán)隊(duì)中的每個(gè)人有權(quán)限的倉(cāng)庫(kù)齐邦,但是不需要對(duì)外公開椎瘟。
(官方?jīng)]有細(xì)說這里面的過程,參照Using Pod Lib Create(譯))
2. 添加你的私有庫(kù)到你的CocoaPods中
$ pod repo add REPO_NAME SOURCE_URL
注意:如果你打算創(chuàng)建本地pods侄旬,你應(yīng)該推到這個(gè)資源地址上
檢查你是否成功安裝
$ cd ~/.cocoapods/repos/REPO_NAME
$ pod repo lint .
3. 添加你的Podspec到你的倉(cāng)庫(kù)
確定你已經(jīng)給你的代碼資源打上tag和版本肺蔚,然后運(yùn)行
$ pod repo push REPO_NAME SPEC_NAME.podspec
這將會(huì)運(yùn)行pod spec lint,注意在你私有庫(kù)配置spec時(shí)所有的小細(xì)節(jié)儡羔。
你倉(cāng)庫(kù)的結(jié)構(gòu)應(yīng)該是這樣的
.
├── Specs
└── [SPEC_NAME]
└── [VERSION]
└── [SPEC_NAME].podspec
就是這樣
你的私有Pod已經(jīng)可以用于在Podfile里了宣羊。你能在你的Podfile中通過資源指令來使用私有庫(kù),比如下面的例子中展示汰蜘。
一個(gè)示例
1. 創(chuàng)建一個(gè)私有的倉(cāng)庫(kù)
在你的服務(wù)器上創(chuàng)建一個(gè)倉(cāng)庫(kù)仇冯。可以是在Github上或者是你自己的服務(wù)器如下
$ cd /opt/git
$ mkdir Specs.git
$ cd Specs.git
$ git init --bare
(例子的余下部分使用倉(cāng)庫(kù)的是 https://github.com/artsy/Specs)
2. 添加你的私有庫(kù)到你的CocoaPods中
使用你服務(wù)器上的倉(cāng)庫(kù)的URL族操,添加你的倉(cāng)庫(kù)使用:
$ pod repo add artsy-specs git@github:artsy/Specs.git
檢查你是否安裝成功使用:
$ cd ~/.cocoapods/repos/artsy-specs
$ pod repo lint .
3. 添加你的Podspec到你的倉(cāng)庫(kù)
創(chuàng)建你的Podspec
cd ~/Desktop
touch Artsy+OSSUIFonts.podspec
Artsy+OSSUIFonts.podspec 應(yīng)該會(huì)在你選擇的文本編輯器里打開. 典型的內(nèi)容應(yīng)該是:
Pod::Spec.new do |s|
s.name = "Artsy+OSSUIFonts"
s.version = "1.1.1"
s.summary = "The open source fonts for Artsy apps + UIFont categories."
s.homepage = "https://github.com/artsy/Artsy-OSSUIFonts"
s.license = 'Code is MIT, then custom font licenses.'
s.author = { "Orta" => "orta.therox@gmail.com" }
s.source = { :git => "https://github.com/artsy/Artsy-OSSUIFonts.git", :tag => s.version }
s.social_media_url = 'https://twitter.com/artsy'
s.platform = :ios, '7.0'
s.requires_arc = true
s.source_files = 'Pod/Classes'
s.resources = 'Pod/Assets/*'
s.frameworks = 'UIKit', 'CoreText'
s.module_name = 'Artsy_UIFonts'
end
保存你的Podspec苛坚,然后添加到倉(cāng)庫(kù)中
pod repo push artsy-specs ~/Desktop/Artsy+OSSUIFonts.podspec
如果你的Podspec是有效的,它將會(huì)被添加到倉(cāng)庫(kù)里色难。倉(cāng)庫(kù)將會(huì)看著像這樣:
.
├── Specs
└── Artsy+OSSUIFonts
└── 1.1.1
└── Artsy+OSSUIFonts.podspec
看這個(gè) Podfile 是一個(gè)如何將倉(cāng)庫(kù)URL包含進(jìn)去的示例泼舱。
如何移除私有庫(kù)
pod repo remove [name]