1

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

  pod 'Firebase/DynamicLinks'

但是,当我在终端中使用该命令pod update时,它意外安装了一个库:

Installing abseil (0.20190808)

这让我很紧张,因为它安装了一个名为abseil的奇怪库。当 I 时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 和动态链接的项目即使在我之后也没有这个 abseil 库pod update

4

1 回答 1

2

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

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

悬停abseilFirebaseFirestorepod的依赖项。正如您在reop中所读到的:

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

所以谷歌团队创建的项目很有可能会使用它。你不应该为此感到紧张。此外,您可以检查哪个 podabseil用作依赖项,您需要打开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)
于 2019-11-17T19:47:35.000 回答