CocoasPod很好,但有时它不是。
为什么?因为有一个标志呼叫" -ObjC"在你的项目中。
它会将所有对象文件拉入您生成的二进制文件中。
例如,一个带有" pod' AFNetworking""和国旗" -ObjC"是的,这将导致二进制将是7MB。一个空项目需要7MB,这很糟糕。
Google Map SDK等一些框架需要标记" -ObjC"是的。
所以,如果你的项目是" AFNetworking pod"和#34;谷歌地图SDK",它将导致二进制将是17MB。
所以我的问题是:
如何关闭" -ObjC"特别图书馆的旗帜?
例如,只需保留" -ObjC"对于Google Map SDK,但在AFNetworking上将其关闭。
答案 0 :(得分:2)
您应该尝试this question的答案,以减少.ipa的大小。
通常,在Objective-C中为项目添加静态库 将所有对象文件拉入生成的二进制文件,因为可可 pods安装将-ObjC标志添加到链接器设置,并作为 在链接器手册中说明:
-ObjC Loads all members of static archive libraries that implement an Objective-C class or category.
此标志包含解决链接类别的问题,因为 默认情况下,链接器不包含仅包含的对象文件 分类为结果二进制。