iOS - 静态库框架的大小与动态嵌入式框架相对立

时间:2016-11-21 11:48:50

标签: ios compilation frameworks static-libraries lipo

我使用以下教程https://github.com/jverkoey/iOS-Framework创建了一个静态库(框架)。

框架的大小很大 - 大约220 MB。

当我改为创建动态嵌入式框架时,大小只有~12MB。

重要的是要注意框架是作为二进制文件分发的。

有些代码是用c ++和objc ++编写的。

两个项目中的链接器标志是相同的:

OTHER_LDFLAGS = $(继承)-ObjC -l“c ++”

造成这种巨大差异的原因是什么?如何将静态库的大小调低为与嵌入式动态库相同?

1 个答案:

答案 0 :(得分:0)

我觉得this blog post直接(并详细地)回答了这个问题。简短的答案是将静态库全部复制到二进制文件中。动态框架仅加载在加载和运行时所需的代码。根据依赖关系,这确实可以解释巨大的差异。