如何减小ipa包大小方法总结,减小ipa包大小

如何减小ipa包大小方法总结,减小ipa包大小,第1张

首先是检查app bundle,看一下程序包里面哪些文件占的空间最大。
在做任何相关优化之前,我们需要做一些权衡。通过权衡,可以知道把优化的重点集中在什么地方。本文提到的一些技术缺点我们也需要做出考虑,我们必须考虑相关影响,以确保做出正确的决定。如果不做权衡的话,我们无法知道需要对程序做出什么样的改变。
当第一安装iOS程序时,需要完整的一个ipa文件。(注意这不同于升级)。实际上ipa文件就是一个zip结构。
找出程序的ipa文件方法:
1、从App Store应用,然后利用iTunes对iOS设备做同步处理,接着查看目录:
~/Music/iTunes/iTunes Music/Mobile Applications,就能找到ipa文件了。
2、当然我们也可以通过使用: Xcode的Archive命令来构造出ipa文件——该文件与提交到App Store上的格式基本一致。
检查ipa文件
简单的将后缀为ipa文件修改为zip,然后利用Finder将其解压出来。右键单击解压出来的app bundle,选择显示包内容,以查看里面的资源文件。通过该方法我们可以看到哪些文件占的空间最大。
注意:app bundle是经过压缩的,并且有些文件的压缩效果要比别的文件好,所以压缩后的效果才是才是最重要的。不过一般情况下在压缩前最大的文件,在压缩后依旧是最大的文件。我们可以将某个文件删除,然后在Finder中右键单击,选择压缩,这样可以更加精确的测量文件压缩效果。
Build Settings
编译选项
将build setting中的Optimization Level设置为Fastest, Smallest [-Os]; 将build setting 中的Strip Debug Symbols During Copy设置为YES(COPY_PHASE_STRIP = YES),这样可以减译出二进制文件的尺寸。这里提到的这些设置在Xcode工程中对于Release的配置是默认的。
警告:这些设置会让你的程序很难debug。在一般开发环境build中不建议这样设置
Target针对较少的CPUs
默认情况下,Xcode工程都配置为:对程序指定的特定CPU类型做优化处理,以生成相对于的可执行文件。不同的硬件,将运行不同的可执行代码。虽然这样优化后的程序,只能针对某些设备运行,但是这大大减小可执行程序的大小。
要想只设定特定类型的CPUs,可以修改build setting中的Architectures,将其从Standard $(ARCHS_STANDARD)修改为你希望支持的列表中对应的特定类型CPU。有效的CPU名称列在Valid Architectures (VALID_ARCHS) build setting中。请不要修改Valid Architectures设置项,最好由Xcode管理。
Assets
对应用程序做一个完整性检查
利用Inspecting Your App中介绍的流程,对app bundle做一个全面的检查,以了解那些是真正需要用到的。在程序中,经常会包含一些额外的文件,例如readme之类的,这些从来都不会被用到。
将数据从代码中剥离出来
将所有的资源(例如很长的字符串)从代码中剥离出来,并存入外部文件,这样会减小最终文件的大小,因为这些文件的压缩效果更好。(参考iOS App Store Specific Considerations中的完整介绍。)
Image Assets
尽量使用8-bit
使用8-bit的PNG,比32-bit的能减少4倍的压缩率。由于8-bit的支持最多256种不同的颜色,所以8-bit的一般只应该用于一小部分的颜色。例如灰度最好使用8-bit。
针对32-bit的尽量使用高压缩的比率
利用Adobe Photoshop的Save For Web可以减小JPEG和PNG的大小。在Xcode中,默认情况下,会自动的使用pngcrush来压缩png。
Audio Assets
音频的压缩
参考WWDC中的Audio Development for Games,里面介绍了如何有效的处理音频。常规来说,我们要使用AAC或MP3来压缩音频,并且可以尝试降低一下音频的比特率。有时候441khz的采样是没有必要的,稍微低一点的比特率也不会降低音频的质量。
温馨提示:以上这些方法仅供参考,而且仅适用于对程序占用空间特别在意又对自己的耐心非常有信息的同学们,要不然,头疼呵呵了什么的,只好自己忍着啦~
iOS App Store相关因素
作为提交到App Store中app里的可执行文件是被加过密的。加密的副作用是可执行文件的压缩效果没有之前的好了,因为加密会隐藏一些细节问题。因此,从App Store下来的ipa文件大小要比从本地build出来的ipa文件大。
注意:将长文本内容和表数据等从代码中移除,并添加到外部文件中,这样可以减小最终安装包的大小——因为这些文件的压缩效果更好。
如果你选择Organizer window中的某个archived,然后点击Estimate Size,Xcode可以对最终分发的程序尺寸做出一个评估。这里并不考虑Mac App Store上面的和级部署的iOS程序。

可以连接itunes,然后在文件里头选择从iphone传输文件到itunes。 或者是电脑上下载一个ifunbox软件,连接iphone和电脑,然后打开ifunbox,会自动找到你的iphone,然后进入你iphone里面的下载的ipa软件所在的那个文件夹,把里头的ipa文件copy到电脑就可以了

具体方法如下:
1,PC端需要工具 Pledit 解压压缩工具 ,
2,用xx助手之类的东西文件管理 找到根目录下的Applications 打开
3,找到ppsspp文件夹 拷贝到电脑上,
4,然后新建一个文件夹Payload 将ppssppapp拷贝进去
5,接着把这个Payload打包成zip格式 打包完后把后缀改为ipa就可以用xx助手进行安装了。

将下载到的软件先制成IPA安装包,再使用iTunes安装,这样不仅省去了手动上传的时间,也不用再为权限问题担心了。

Pledit v1001下载地址

1首先找一张任意的JPG格式文件,裁剪成正方形,最好不要大于500×500,改好以后,把这个xxxJPG文件直接改名为iTunesArtwork(注意大小写),注意去掉后缀,这张是用于在iTunes的应用程序栏目里所看到的图标。

2建立一个临时文件夹,进入这个新建的文件夹后,再建一个文件夹并命名为Payload(注意大小写),最后应该得到两个文件。

 3把破解以后准备要打包的Poolapp文件夹复制到Payload里,使用plist文件编辑工具(例如pleditexe)打开Poolapp文件夹里的Infoplist文件,打开后拉到最底下结尾处,在</dict></plist>之前添加两段语句:

<key>SignerIdentity</key>

<string>Apple iPhone OS Application Signing</string>

添加完毕后原路径保存,到此为止,需要的准备工作都已经完成了,下面就要开始打包了。

4使用WinRAR把第一步中制作好的iTunesArtwork文件和Payload文件夹一起压缩成Poolzip文件,然后把这个zip文件直接改名为Poolipa,然后双击Poolipa文件就可以将其导入iTunes了。

注意安装前需要对系统文件做些修改:iPa破解软件安装补丁

5使用数据线连上iPhone,在应用程序中将Pool打勾,按同步,iTunes会逐一显示“正在同步”、“正在安装”和“同步已完成”,结束后这个程序就安装到你的iPhone里了,这种安装方法既不用手工传文件又不用连接WinSCP改权限,非常简便。

要点总结:

-Payload和iTunesArtwork这两项一定要注意大小写;

-生成的压缩包里应该是2个文件,一个iTunesArtwork文件,另一个是Payload文件夹,Payload文件夹里边是xxxapp文件夹,xxxapp文件夹里边是程序;

-正确修改Infoplist文件,这几点都没错的话就没问题了。

你看不到后缀名是你设置了“隐藏已知文件类型的扩展名”。在“我的电脑”-“工具”-“文件夹选项”--“查看”--“隐藏已知文件类型的扩展名”前面的勾去掉 即可。后缀名显示出来后,将zip修改为ipa。

说明一下,这里针对的是没有源码和非越狱设备的几种方法。下面简单介绍下几款软件的用法。

1 Apple Configurator 2

在App Store搜索“Apple Configurator 2”下载安装(最低适配macOS 1014)
准备工作: Apple ID账号密码, Apple设备。
步骤:

11 连接设备到Mac, 菜单 -> 账户 -> 登录

12 添加 -> 应用, 这里会显示你的已购记录,选中应用后添加。这个过程和网速有关,需要等待应用在手机上安装完成。

如果你已经安装了应用,不要点击任何 *** 作!

13 command+shift+G 进入文件夹~/Library/Group Containers/K36BKF7T3Dgroupcomappleconfigurator/Library/Caches/Assets/TemporaryItems/MobileApps/

2 爱思助手(强烈推荐,简直不要太好用了!!!)

准备工作: 无。
不写步骤了,太简单了。连接设备到电脑后下载爱思上的应用到电脑,完成后打开文件夹位置IPA 也就拿到了。

3iMazing

可以把目前手机上自己安装的所有app都导出到电脑上,唯一的缺点就是导出来的格式是imazingapp格式,不是IPA。当然,这种格式也只能用iMazing安装大手机上。
准备工作: Apple设备。
步骤:连接设备后选择应用程序 -> 选中应用 -> 拷贝至MAC -> 保存

4 iTunes

因为iTunes126以上版本去掉了应用程序相关功能,所以只能在126以下版本的iTunes上进行导出IPA了。具体方法百度一大堆,就不详细说了。如果你很幸运的升级了mac OS ,那么恭喜你中奖了,因为想在1014上装个126版本的iTunes我弄了半天都没装好,我太难了,所以有成功的巨佬麻烦告诉一声哈。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13231761.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-24
下一篇 2023-06-24

发表评论

登录后才能评论

评论列表(0条)

保存