我最近在Podfile中添加了一行以使用Firebase的动态链接。

  pod 'Firebase/DynamicLinks'

但是,当我在终端中使用命令pod update时,它意外地安装了一个库:
Installing abseil (0.20190808)

这让我感到紧张,因为它安装了一个名为 abseil 的怪异库。
当我cat Podfile.lock时,它具有许多不同的组件:
  - abseil/algorithm (0.20190808):
  - abseil/algorithm/algorithm (= 0.20190808)
  - abseil/algorithm/container (= 0.20190808)
  - abseil/algorithm/algorithm (0.20190808)
  - abseil/algorithm/container (0.20190808):
    - abseil/algorithm/algorithm
    - abseil/base/core_headers
    - abseil/meta/type_traits
  ...
  - abseil/utility/utility (0.20190808):
    - abseil/base/base_internal
    - abseil/base/config
    - abseil/meta/type_traits

这个库是什么?它似乎不是Firebase动态链接的一部分。
它很长,对于我的项目来说似乎不是必需的。
Firebase是否突然决定将这个庞大的库包括给所有人?
我的另一个使用Firebase和Dynamic Links的项目即使在pod update后也没有这个Abseil库。

最佳答案

您确定abseilFirebaseDynamicLinks pod的依赖项吗?当我仅安装它时,我只能看到那些依赖项:

- Firebase
- FirebaseAnalyticsInterop
- FirebaseCore
- FirebaseCoreDiagnostics
- FirebaseCoreDiagnosticsInterop
- FirebaseDynamicLinks
- GoogleDataTransport
- GoogleDataTransportCCTSupport
- GoogleUtilities
- nanopb

悬停abseil是以下项的依赖项
FirebaseFirestore pod。如你所见the reop:

Abseil是C++库代码的开源集合,旨在增强C++标准库。 Abseil库代码是从Google自己的C++代码库中收集的,已经过广泛测试并在生产中使用,并且与我们日常编码工作中所依赖的代码相同。

因此由Google团队创建的项目很有可能会使用它。您不必为此感到紧张。另外,您可以检查哪个pod使用abseil作为依赖项,您需要打开Podfile.lock文件,并在第一部分(以PODS:开头)中搜索不是仅以两个空格开头的abseil。最简单的方法是搜索
    - abseil
(4 space)- abseil。就我而言,它看起来像这样:
  - FirebaseFirestore (1.8.0):
    - abseil/algorithm (= 0.20190808)
    - abseil/base (= 0.20190808)
    - abseil/memory (= 0.20190808)
    - abseil/meta (= 0.20190808)
    - abseil/strings/strings (= 0.20190808)
    - abseil/time (= 0.20190808)
    - abseil/types (= 0.20190808)
    - FirebaseAuthInterop (~> 1.0)
    - FirebaseCore (~> 6.2)
    - "gRPC-C++ (= 0.0.9)"
    - leveldb-library (~> 1.22)
    - nanopb (~> 0.3.901)

关于ios - 安装了未指定的Cocoapod库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58904019/

10-11 06:34