将iPhone应用程序文件大小保持在10.0MB以下有哪些好的指导原则?

Rex*_*ids 5 iphone filesize app-store

我希望将我的应用程序保持在10.0MB以下,以便在蜂窝和Wifi网络环境中轻松下载.根据您的经验,您是否遇到过保持应用程序苗条的好方法?如果是的话请分享.将iPhone应用程序文件大小保持在10.0MB以下有哪些好的指导原则?

Rob*_*ier 6

我处理过的超过1000万的应用程序是由于资源,通常是图像和音频.正确地确定它们的大小是至关重要的.请注意,iPhone在捆绑设备时会自动为您进行一些压缩,因此Simulator中的内容大小可能与设备上的大小完全不同.

与所有优化练习一样,您希望首先构建一个稳固,理智的系统,然后将优化工作集中在导致最大问题的部分上.我用du它:

  • 在Release中为设备构建
  • 转到build/Release-iphoneos/.app
  • du -ak | sort -rn | head

这将为您提供最重要的事项列表.此信息以kB为单位,但向上舍入到下一个块(Mac上为4k).但是你只是在寻找什么是大的,而不是确定一切的确切尺寸.

特别注意那些不应该被复制到资源中的东西.有时候会有趣的东西进入,特别是你已经添加到项目中的文档.测试一下,我注意到我自己的项目模板已经将xcconfig文件复制到捆绑包中(必须修复...)

如果你有很多本地化的NIB,那么你可能想要考虑不本地化NIB,而是使用IBOutlet UILabels.如果没有实际的本地化文本,请不要本地化NIB.仅仅因为你本地化一个NIB并不意味着你必须本地化所有这些.

一般来说,iPhone的构建设置在降低尺寸方面已经非常积极,所以如果不研究你正在改变什么,我就不会搞砸了.

请注意Objective-C类,其中包含许多您从未调用过的方法.Objective-C是动态的,所以你不能像在C中那样对它进行死代码剥离.在编译时无法知道是否可以在运行时使用选择器.因此,如果您的物体中有厨房水槽"以防万一",您可能想要将它们剥离.但一般来说,与单个音频文件相比,我们并没有谈论很多空间.我只提到它,因为你有一个非常大的对象,你只链接一些类方法或常量等.