不帅 发表于 2015-1-18 11:27:52

IOS制作之减小iOS使用程序的巨细仓酷云

如果你对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

飘灵儿 发表于 2015-1-24 12:50:30

近期由于IOS7的发布,所以应用的适配潮可谓是都搞的锣鼓喧天,甚是热闹,因此呢,因适配IOS7而产生的问题也是铺天盖地的卷来,

若相依 发表于 2015-2-1 12:33:55

从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,

爱飞 发表于 2015-2-4 20:08:23

开始的时候甚至想放弃,不过想想自己的未来,只能咬牙坚持,课下就不停的缠着老师。放学就补基础,这些基础的东西没有速成的,只有刻苦努力。我是后来发现的,转变自己的心态,不要读书看资料当成一种痛苦

再见西城 发表于 2015-2-10 05:54:38

看完这个你就可以有多种选择来踏入做应用的阶段

飘飘悠悠 发表于 2015-2-21 13:09:51

同很多iOS开发者一样,我也是通过培训进入到iOS开发这个行业,开始没有打算培训,只准备自己学习一些计算机编程相关的知识,毕业时找一份编程相关工作(本人是信息与计算科学这个专业,是数学系)。

谁可相欹 发表于 2015-2-24 04:25:23

同很多iOS开发者一样,我也是通过培训进入到iOS开发这个行业,开始没有打算培训,只准备自己学习一些计算机编程相关的知识,毕业时找一份编程相关工作(本人是信息与计算科学这个专业,是数学系)。

小妖女 发表于 2015-3-7 10:49:17

培训时可以选择安卓,iOS,Java,因为实习的时候我选了安卓,当时实习时间只有三周,学的晕头转向,而java我也没学过,iOS的基础是C语言,这个大学里还是学过的,于是选择了iOS。

再现理想 发表于 2015-3-15 00:13:56

自从苹果公司开放iOS SDK以来,大量的国内外的软件开发者将关注的目光聚集在苹果的iOS平台上。由于iPhone和iPad自一出现就给人带来了颠覆性的感觉

海妖 发表于 2015-3-21 15:09:44

以上可以同时进行,学习过程中尽量不要纠结细节和底层,要知道ios是封闭的、OC是高级语言,我们不可能过多地去了解它的原理,至少在新手阶段没有必要。用迭代的方式更新你的知识,而不是死抠一个知识点。
页: [1]
查看完整版本: IOS制作之减小iOS使用程序的巨细仓酷云