CocoaPods 不僅可以將開(kāi)源代碼添加到項(xiàng)目中,而且還可以跨項(xiàng)目共享組件纠修。 您可以使用私人 Spec Repo 來(lái)執(zhí)行此操作胳嘲。
這里有幾個(gè)簡(jiǎn)單的步驟可以幫助你設(shè)置私有的 Pods . 首先為它創(chuàng)建一個(gè)私有的 repository, 讓 CocoaPods 知道在哪里找到它, 并將 podspecs 添加到 repository。
1.> 創(chuàng)建一個(gè) Private Spec Repo
要處理您的 private pods 扣草,我們建議您創(chuàng)建自己的 Spec repo了牛。 這應(yīng)該放在所有使用 repo 的人都可以訪(fǎng)問(wèn)的位置。
你不需要 fork CocoaPods / Specs Master repo辰妙。 確保團(tuán)隊(duì)中的每個(gè)人都可以訪(fǎng)問(wèn)此 repo鹰祸,但不需要公開(kāi)。
2.> 將您的 Private Repo 添加到您的 CocoaPods installation.
$ pod repo add REPO_NAME SOURCE_URL
注意:如果您打算在本地創(chuàng)建 pods 密浑,則應(yīng)該有權(quán)訪(fǎng)問(wèn)SOURCE_URL
要檢查您的安裝是否成功并準(zhǔn)備就緒:
$ cd ~/.cocoapods/repos/REPO_NAME
$ pod repo lint .
3.> 將您的Podspec添加到您的 repo
確保你已經(jīng)正確標(biāo)記和版本化你的源代碼蛙婴,然后運(yùn)行:
$ pod repo push REPO_NAME SPEC_NAME.podspec
這將運(yùn)行pid spec lint
,并在您的 private repo 中處理所有關(guān)于設(shè)置規(guī)范的小細(xì)節(jié)尔破。
你的 repo 結(jié)構(gòu)應(yīng)該反映這一點(diǎn):
.
├── Specs
└── [SPEC_NAME]
└── [VERSION]
└── [SPEC_NAME].podspec
以上
您的私有Pod已準(zhǔn)備好在Podfile中使用街图。 您可以在Podfile中使用帶有source指令的規(guī)格存儲(chǔ)庫(kù),如以下示例所示:
source 'URL_TO_REPOSITORY'
一個(gè)例子
1.>創(chuàng)建一個(gè) Private Spec Repo
可以在 Github 或者自己搭建的服務(wù)器上創(chuàng)建一個(gè) repo.
$ cd /opt/git
$ mkdir Specs.git
$ cd Specs.git
$ git init --bare
(本示例的其余部分使用https://github.com/artsy/Specs上的repo)
2.> 將您的 repo 添加到您的 CocoaPods installation
在你的服務(wù)器上使用你的倉(cāng)庫(kù)的URL懒构,使用添加你的倉(cāng)庫(kù)
$ pod repo add artsy-specs git@github:artsy/Specs.git
檢查您的安裝是否成功并準(zhǔn)備好:
$ cd ~/.cocoapods/repos/artsy-specs
$ pod repo lint .
3.> 將您的Podspec添加到您的 repo
創(chuàng)建Podspec
cd ~/Desktop
touch Artsy+OSSUIFonts.podspec
Artsy + OSSUIFonts.podspec應(yīng)該在您選擇的文本編輯器中打開(kāi)台夺。 通用的內(nèi)容是 :
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并添加到 repo
pod repo push artsy-specs ~/Desktop/Artsy+OSSUIFonts.podspec
假設(shè)您的Podspec驗(yàn)證,它將被添加到 repo痴脾。 repo 現(xiàn)在看起來(lái)像這樣
.
├── Specs
└── Artsy+OSSUIFonts
└── 1.1.1
└── Artsy+OSSUIFonts.podspec
See this Podfile for an example of how the repo URL is included