在构建Objective-C静态库时,我注意到.a文件(来自模拟器和iPhone的胖文件)相当大.特别是原来是5.7mb.我找到
this post并设置我的构建设置生成调试符号为否,将lib大小减少到1.7mb.
这是一个很大的改进,但还有什么可以做的吗?实现和头文件占用大约100kb.
解决方法
如果这是您关心的一部分,静态库就是相关的.o文件一起存档加上一些簿记.所以一个1.7mb的静态库 – 即使它内部的代码是整个1.7mb – 通常不会增加1.7mb到你的产品.关于死码剥离的通常规则将适用.
除此之外,您可以减少代码的内置大小.以下可能不是一个全面的列表.
在您的目标的构建设置中,查找“优化级别”.通过将其切换到“最快,最小的-O”,您将允许编译器牺牲一些速度的大小.
确保您正在构建拇指,更紧凑的ARM代码.假设您正在使用LLVM,这意味着确保您的项目设置中没有-mno-thumb.
还要考虑你想要构建哪些架构.苹果不允许提交支持ARMv6和iPhone 5屏幕的应用程序,并且完全从最新的Xcode中删除了ARMv6的支持.所以在这一点上可能没有任何意义.