2014-12-19 52 views
9

語境如何有多個莢一個混帳回購協議

我們正在開發一個大型的軟件平臺,包含Android,服務器,Web和iOS(有其他人來)。爲了保持我們所有的代碼與其他代碼保持最新,我們將它全部保存在一個主數據庫中(這是非常重要的,因爲我們在所有平臺上共享一個模型,所以提交可能影響許多不同的平臺)。

爲了處理iOS端,我們決定將項目分解爲模塊化的pod,以便我們可以輕鬆地在我們的其他庫(也包括pod)中共享它們,因此,當我們發佈它時,我們的客戶很容易包括我們的api在他們現有的項目中(即我們想用cocoapods結構來提供cocoapods所提供的所有優點)。

爲了實現這個目標,我已經爲每個項目設置了一個私有規格回購和pod規範。

tl; dr:我們有一個master git repo包含我們所有的代碼(包括多個不同的pod)。我們希望保持這種結構,但也能夠通過回購代碼中的代碼創建吊艙。

問題

我遇到的問題是所有我能找到莢規格的文檔說,你應該使用這種格式:

spec.source = { :git => 'https://github.com/AFNetworking/AFNetworking.git', :tag => spec.version.to_s }

該車次的唯一部件我認爲,我們的回購不僅包含一個吊艙(更不用說只是iOS代碼)。

是否有可能做這樣的事情:

spec.source = { :git => 'https://github.com/MyCompany/Master/MyCompanyCoreDir', :tag => spec.version.to_s }

我們真的很感謝所有幫助

乾杯

靛藍

+1

你終於搞清楚了怎麼做? – iOSAddicted 2015-10-12 18:34:26

回答

11

它可以對單個的Git多的CocoaPods庫。

正如您所說的,您可以爲導致特定pod代碼的每個源指定不同的來源。

爲了達到此目的,您還必須在規範中設置合適的source_files,例如:s.source_files = 'SomePodDirectory/*.swift'

您甚至可以使用類似於此的來源s.source = { :git => 'https://github.com/MyCompany/Repository.git', :tag => 'SomePodName-v'+String(s.version) }來管理每個吊艙的多個版本。

在這種情況下,您應該在Git上創建適當的標籤(例如SomePodName-v1.0.0)。

你可以看到這個here的工作示例。

相關問題