2

火力地堡/消息對依賴關係:是否可以排除Cocoapods中的依賴關係?

Using Firebase 
Using FirebaseAnalytics 
Using FirebaseCore 
Using FirebaseInstanceID 
Using FirebaseMessaging 
Using GoogleInterchangeUtilities 
Using GoogleSymbolUtilities 
Using GoogleToolboxForMac 

我想知道的是它可以排除GoogleToolboxForMac?問題是,我有一個靜態庫,已經使用GoogleToolboxForMac沒有cocoapods。

所以只想知道它是否可能?

回答

1

依賴一個布丁被定義在它的podspec文件。

只是在理論:你可以fork /克隆艙的回購,編輯podspec刪除的依賴,並添加新的git回購/叉在你Podfile源。不過,之後您必須編輯pod項目目標的搜索路徑,以便它可以找到它需要構建的庫,並且已經刪除。由於圖書館在您的主項目中,並且pod項目是獨立的,因此預計會出現更多問題。我不會爲你的情況推薦這個,理論上講。更新還有更多開銷。

而且,據我所知火力地堡/消息回購是不公開的(不知道這一點),這將使得即使這個選項是不可能的。

+0

是的,它沒有公開回購,那麼是否有任何解決方法?我把問題以不同的格式[這裏](http://stackoverflow.com/questions/40638972/same-library-included-from-two-libraries),所以如果你有任何建議,我想聽到它 –

2

假設你GoogleToolboxForMac的版本是最新的,足以滿足火力地堡/信息的要求,你可以做到以下幾點:

  • 找到xcconfig文件爲每個構建方案:發現。 | grep的xcconfig
  • 對其進行編輯並刪除以下三個字符串:
  • 「$ PODS_CONFIGURATION_BUILD_DIR/GoogleToolboxForMac」
  • -iquote 「$ PODS_CONFIGURATION_BUILD_DIR/GoogleToolboxForMac/GoogleToolboxForMac.framework /頭」
  • -framework 「GoogleToolboxForMac」

你可能要重做,只要你莢更新

但是,正如@Valentin所說,這不推薦。最好從現有的靜態庫中刪除GoogleToolboxForMac構建,並依靠Cocoapod來滿足所有GoogleToolboxForMac依賴關係。

+0

謝謝,但如果我沒有權限更改我正在使用的靜態庫,是否有解決方案? –

+0

這就是我答案的第一部分。 –

2

更好的解決方案,以排除依賴是使用本地莢規範文件中像這樣建立在原來的頂部。

pod 'Firebase/Messaging', :podspec => 'FirebaseMessaging.podspec.json' 

::例如,使用:: 1)訪問>https://cocoapods.org/pods/FirebaseMessaging

2)點擊「查看Podspec」(你會被重定向到GitHub上現有的規格)

3)點擊「原始」,然後「保存下載文件文件爲'。

4)將在同一目錄中找到此文件作爲您的Xcode項目

5)編輯此文件的podfile並刪除依賴你不感興趣的內容。

6)就是這樣。執行pod安裝或pod更新,無論哪一個與您更相關,並且不再安裝依賴關係。

要注意的是:如果FirebaseMessaging吊艙在未來的更新,你將不得不自己來保持你的本地文件莢同步。

相關問題