Firebase / Messaging依赖于:
Using Firebase
Using FirebaseAnalytics
Using FirebaseCore
Using FirebaseInstanceID
Using FirebaseMessaging
Using GoogleInterchangeUtilities
Using GoogleSymbolUtilities
Using GoogleToolboxForMac
我想知道是否可以排除GoogleToolboxForMac
?问题是我有一个静态库已经使用GoogleToolboxForMac
没有cocoapods。
所以只想知道是否可能?
答案 0 :(得分:8)
排除依赖关系的更好解决方案是在原始版本的顶部使用本地pod规范文件。
pod 'Firebase/Messaging', :podspec => 'FirebaseMessaging.podspec.json'
::例如用法:: 1)访问> https://cocoapods.org/pods/FirebaseMessaging
2)点击'参见Podspec' (您将被重定向到github上的现有规范)
3)点击' Raw'下载此文件。然后是“将文件另存为”。
4)将此文件放在与xcode项目的podfile相同的目录中
5)编辑此文件并删除您不感兴趣的依赖项。
6)多数民众赞成。执行pod安装或pod更新与您更相关,并且不再安装依赖项。
需要注意的是:如果将来更新FirebaseMessaging pod,您必须自己保持本地pod文件同步。
答案 1 :(得分:3)
Pod的依赖关系在其podspec文件中定义。
理论上:您可以分析/克隆pod的repo,编辑podspec以删除依赖项,并添加新的git repo / fork作为Podfile中的源代码。然而,之后您必须编辑pods项目目标的搜索路径,以便它可以找到它需要构建的库,并且您已经删除了。期待更多问题,因为库位于您的主项目中,而pods项目是独立的。我理所当然地说,我不会为你的情况推荐这个。更新的开销也更多。
此外,据我所知,Firebase / Messaging repo不公开(不确定),这将使这个选项变得不可能。
答案 2 :(得分:2)
假设您的GoogleToolboxForMac版本是最新的,足以满足Firebase / Messaging的要求,您可以执行以下操作:
每当 pod更新
时,您可能需要重做然而,正如@Valentin所说,不建议这样做。从现有的静态库中删除GoogleToolboxForMac构建可能会更好,并依赖于Cocoapod来满足所有GoogleToolboxForMac依赖项。