|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果你对iPhoneDevelopment有兴趣,以下是入门门槛供参考:首先你要有一台Mac电脑(因为iPhoneApp使用Mac平台内建的Xcode开发工具),网上也有在Windows下搭设开发环境的教程,请大家自行谷歌一下,Q:如何才干让我的程序安装包小一点,让程序的下载和安装更疾速?
A:本文搜集了一些减小程序安装包巨细的相干技能(当第一次下载和安装程序时)。假如是针对晋级程序的话,能够看这篇文章(减小iOS使用程序晋级时所需下载的巨细)(这与第一次安装利用的事情道理有所分歧)。
反省使用程序
起首是反省.appbundle,看一下程序包内里哪些文件占的空间最年夜。
在做任何相干优化之前,我们必要做一些衡量。经由过程衡量,能够晓得把优化的重点会合在甚么中央。本文提到的一些手艺弱点我们也必要做出思索,我们必需思索相干影响,以确保做出准确的决意。假如不做衡量的话,我们没法晓得必要对程序做出甚么样的改动。
当第一安装iOS程序时,必要下载完全的一个.ipa文件。(注重这分歧于晋级)。实践上.ipa文件就是一个.zip布局。
我们能够经由过程如许的办法来找出程序的.ipa文件:从AppStore下载使用,然后使用iTunes对iOS设备做同步处置,接着检察目次:~/Music/iTunes/iTunesMusic/MobileApplications,就可以找到.ipa文件了。
当让我们也能够经由过程利用:Xcode的Archive命令来机关出.ipa文件——该文件与提交到AppStore上的格局基础分歧。
反省.ipa文件
复杂的将后缀为.ipa文件修正为.zip,然后使用Finder将其解压出来。右键单击解压出来的.appbundle,选择显现包内容,以检察内里的资本文件。经由过程该办法我们能够看到哪些文件占的空间最年夜。记着:.appbundle是经由紧缩的,而且有些文件的紧缩效果要比其余文件好,以是紧缩后的效果才是才是最主要的。不外一样平常情形下在紧缩前最年夜的文件,在紧缩后仍旧是最年夜的文件。我们能够将某个文件删除,然后在Finder中右键单击,选择紧缩,如许能够加倍准确的丈量文件紧缩效果。
iOSAppStore相干要素
作为提交到AppStore中app里的可实行文件是被加过密的。加密的反作用是可实行文件的紧缩效果没有之前的好了,由于加密会埋没一些细节成绩。因而,从AppStore下载上去的.ipa文件巨细要比从当地build出来的.ipa文件年夜。
注重:将长文本内容和表数据等从代码中移除,并增加到内部文件中,如许能够减小终极安装包下载的巨细——由于这些文件的紧缩效果更好。
假如你选择Organizerwindow中的某个archived,然后点击EstimateSize,Xcode能够对终极分发的程序尺寸做出一个评价。这里其实不思索MacAppStore下面的和企业级部署的iOS程序。
BuildSettings
编译选项
将buildsetting中的OptimizationLevel设置为Fastest,Smallest[-Os];将buildsetting中的StripDebugSymbolsDuringCopy设置为YES(COPY_PHASE_STRIP=YES),如许能够减小编译出二进制文件的尺寸。这里提到的这些设置在Xcode工程中关于Release的设置是默许的。
告诫:这些设置会让你的程序很难debug。在一样平常开辟情况build中不倡议如许设置,
Target针对较少的CPUs
默许情形下,Xcode工程都设置为:对程序指定的特定CPU范例做优化处置,以天生相对的可实行文件。分歧的硬件,将运转分歧的可实行代码。固然如许优化后的程序,只能针对某些设备运转,可是这年夜年夜减小可实行程序的巨细。
要想只设定特定范例的CPUs,能够修正buildsetting中的Architectures,将其从Standard$(ARCHS_STANDARD)修正为你但愿撑持的列表中对应的特定范例CPU。无效的CPU称号列在ValidArchitectures(VALID_ARCHS)buildsetting中。请不要修正ValidArchitectures设置项,最好由Xcode办理。
Assets
对使用程序做一个完全性反省
使用InspectingYourApp中先容的流程,对.appbundle做一个周全的反省,以懂得那些是真正必要用到的。在程序中,常常会包括一些分外的文件,比方readme之类的,这些历来都不会被用到。
将数据从代码中剥离出来
将一切的资本(比方很长的字符串)从代码中剥离出来,并存进内部文件,如许会减小终极文件下载的巨细,由于这些文件的紧缩效果更好。(参考iOSAppStoreSpecificConsiderations中的完全先容。)
如果你现在开始学到编出像样的APPiOS5可能已经普及了可以直接用ARC(另之前对ARC的了解很粗浅现在开发程序完全可以直接ARCiOS4不支持的weak是有办法替代的用unsafe_unretained |
|