是否有可能排除Cocoapods的依赖?

Nik*_*ipa 6 google-toolbox-for-mac ios cocoapods firebase firebase-cloud-messaging

Firebase/Messaging依赖于:

Using Firebase
Using FirebaseAnalytics
Using FirebaseCore
Using FirebaseInstanceID
Using FirebaseMessaging
Using GoogleInterchangeUtilities
Using GoogleSymbolUtilities
Using GoogleToolboxForMac
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以排除GoogleToolboxForMac?问题是我有一个静态库,已经使用GoogleToolboxForMac没有cocoapods.

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

xyS*_*rma 8

排除依赖关系的更好解决方案是在原始版本的顶部使用本地pod规范文件.

pod 'Firebase/Messaging', :podspec => 'FirebaseMessaging.podspec.json'
Run Code Online (Sandbox Code Playgroud)

:: eg usage :: 1)访问> https://cocoapods.org/pods/FirebaseMessaging

2)点击'See Podspec'(您将被重定向到github上的现有规范)

3)单击"原始",然后单击"将文件另存为",下载此文件.

4)将此文件放在与xcode项目的podfile相同的目录中

5)编辑此文件并删除您不感兴趣的依赖项.

6)多数民众赞成.执行pod安装或pod更新与您更相关,并且不再安装依赖项.

需要注意的是:如果将来更新FirebaseMessaging窗格,您必须自己保持本地窗格文件同步.


小智 2

Pod 的依赖项在其 podspec 文件中定义。

理论上:您可以分叉/克隆 pod 的存储库,编辑 podspec 以删除依赖项,并将新的 git 存储库/分叉添加为 Podfile 中的源。不过,之后您必须编辑 pods 项目目标的搜索路径,以便它可以找到它需要构建的库,并且您已将其删除。预计会出现更多问题,因为该库位于您的主项目中,而 pods 项目是一个单独的项目。我肯定不会推荐这个用于您的情况,只是从理论上讲。更新也会产生更多开销。

此外,据我所知 Firebase/Messaging 存储库不是公开的(不确定这一点),这甚至使这个选项变得不可能。