【问题标题】:CocoaPods: How do I get the binary size of each pods I linked to?CocoaPods:如何获取链接到的每个 pod 的二进制大小?
【发布时间】:2015-09-02 02:28:19
【问题描述】:

目前我的项目依赖于许多 pod,添加 pod 会使我的二进制文件变大,我想检查我链接到的 pod,看看它们中哪个最大,这样我就可以知道我应该删除哪些。

有什么想法吗?

谢谢。

【问题讨论】:

    标签: ios xcode cocoapods


    【解决方案1】:

    首先,转到您的根目录(包含 yourproject.xcworkspace 的目录)并输入“cat Podfile”。这不是完全必要的,但会向您展示依赖关系,让您有一个想法。

    然后输入“cd Pods”。这会将您带到存储依赖项的目录。接下来,键入“du -h”。这列出了每个目录的大小,并且可以让您很好地了解哪些 pod 是最大的。

    【讨论】:

    • 好吧,我想知道 pod 编译后的二进制大小,而不是源文件大小。
    • 啊,对。这可能有点棘手,因为(我认为)源文件被合并到同一个二进制文件中。一个想法可能是创建一个简单的应用程序,它只调用二进制文件并获取生成的存档的大小。另一种方法是注释掉对应用程序中给定库的调用,并测量前后存档的大小。
    • 为什么 Cocoapods 不在他们的网站上列出 pod 大小?在将 SDK 捆绑到您的应用程序之前,了解大小似乎非常有用;但是,我在 Cocoapods 网站上的任何地方都找不到 seen here 的信息。有什么想法吗?
    【解决方案2】:

    您可以使用 Google 提供的此工具 https://github.com/google/cocoapods-size

    它为您提供特定 pod 的二进制文件添加到您的二进制文件中的字节数

    它基本上使用一个空的应用程序并进行前后比较

    示例:

    ./measure_cocoapod_size.py --cocoapods AFNetworking
    
    // Output:
    Size comes out to be 231568 bytes (measured at version 3.2.1)
    

    您甚至可以传递自定义来源,或在您的应用中自己使用差异;)

    【讨论】:

      【解决方案3】:

      当您构建一个项目时,您的所有 pod 也会被构建。通常(但不总是)它们的位置与您的最终二进制文件[Build location] 相同。您将看到 构建机器

      占用了多少空间

      如果您将依赖项添加为动态[About],您也可以在最终消费者中找到它。您将看到它在 设备 上占用了多少空间。在这种情况下,它会更小,因为不包含其他文件

      【讨论】:

        猜你喜欢
        • 2017-03-22
        • 1970-01-01
        • 2015-02-27
        • 1970-01-01
        • 2015-03-19
        • 2011-02-07
        • 2018-02-04
        • 1970-01-01
        • 2019-12-19
        相关资源
        最近更新 更多