iOS 缩小打包项目ipa大小的实现方法

 更新时间:2017年12月19日 14:01:38   作者:路过秋天  
下面小编就为大家分享一篇iOS 缩小打包项目ipa大小的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

之前项目上线完全由技术老大搞,这次独立开发自己来,觉得自己的打包项目体积略大,网上搜索了一些比较不错的方法,这里总结下。

1、配置编译选项 (Levels选项内)Genetate Debug Symbols 设置为NO,这个配置选项应该会让你减去小半的体积。

2、舍弃架构armv7,因为armv7用于支持4s和3gs,4s是2011年11月正式上线,虽然还有小部分人在使用,但是追求包体大小的完全可以舍弃了。

3、编译的版本必须是发布版本,

4、查找内部使用到的第三方库,一方面可以进行删减代码,用不到的类,直接删除,还有第三方库中的图片资源统统删除掉,如果能够自己手写实现的,那费功夫自己写吧

单单上面的几个操作全部完成的话,项目一般能惊人小了很多。

其他的资源相关:

图片

压缩图片 不重要的图片可适当采用 8bit PNG图片

1.什么是矢量图 矢量图是由计算机的算法产生的,可以无限放大或缩小,不会有任何损失,通常由矢量软件制作。

2.什么是位图 位图是由一个一个的小色块组成,放大后会看到那些小色块,同一面积内小色块越多,分辨率就越高。

3.矢量图的优缺点 可以无限放大或缩小,不会影响图像素质,文件体积较小,编辑灵活。缺点是表达的色彩层次不清,整体观感效果不如位图

4.位图的优缺点 不能放太大,减少文件分辨率后会影响图片质量,图片战胜空间较大,优点是能很细腻地表达图片的效果,图片表达效果非常好

5.什么情况下用位图,什么情况下用矢量图 一些对图片要求高的用位图,例如照片。其他的尽量用矢量图。例如文字、表格、卡通图片等

去掉无用的图片

用代码绘制简单的纯色图片 用Sketch和PaintCode快速得到绘制代码

如果不需要使用透明,可以用jpeg代替PNG。jpeg减少了些效率但更加小。需权衡性能,大小。

对32位的图片,尽肯能的使用高压缩率,使用PS的“Save For Web”功能,可以有效的减小JPEG和PNG图片的尺寸。 默认情况下,在build时,PNG图像就被pngcrush压缩。

音频

压缩音频,尽可能使用AAC或者MP3格式,并且使用一个较低的码率。通常44.1khz的码率有点浪费,降低一定的码率也不会丢失多少音质

视频

视频也可以使用类似于音频的处理方法,音视频的压缩可以很大程度的压缩,但是要注意压缩的格式,是不是会增加编解码的负担,这要权衡考虑。

Assets

检查bundle中的无用文件,不要打包到app或者静态库中。可以点击文件,在右侧的file inspector里面的target membership中取消勾选;或者在build phase里面的Copy Bundle Resources中去掉。

确定 dead code(代码被定义但从未被调用)被剥离,build setting 里 DEAD_CODE_STRIPPING = YES。 去掉冗余的代码,即使一点冗余代码,编译后体积也是很可观的。

以上这篇iOS 缩小打包项目ipa大小的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • OpenCV  iOS 图像处理编程入门详细教程

    OpenCV  iOS 图像处理编程入门详细教程

    这篇文章主要介绍了OpenCV iOS 图像处理编程入门,OpenCV 的应用领域非常广泛,包括图像拼接、图像降噪、产品质检、人机交互、人脸识别、动作识别、动作跟踪、无人驾驶等,对于图像处理、人机交互及机器学习算法感兴趣的可以选择一个方向进行深入的研究
    2022-07-07
  • iOS用AutoLayout实现分页滚动功能

    iOS用AutoLayout实现分页滚动功能

    这篇文章主要给大家介绍了关于iOS用AutoLayout实现分页滚动功能的相关资料,文中通过示例代码介绍的非常详细,对各位iOS开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • iOS中的ipa重签名(逆向必备)

    iOS中的ipa重签名(逆向必备)

    这篇文章给大家介绍了ios中的ipa重签名知识以及错误原因及解决俄方案,需要的朋友参考下吧
    2018-01-01
  • IOS应用程序多语言本地化的两种解决方案

    IOS应用程序多语言本地化的两种解决方案

    本篇文章介绍了IOS应用程序多语言本地化解决方案,这里整理了详细的解决办法,有需要的小伙伴可以参考下。
    2016-11-11
  • iOS 水波纹动画的实现效果

    iOS 水波纹动画的实现效果

    本篇文章主要介绍了iOS 水波纹的实现的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Objective-C 经典字典数组排序 - 省市区

    Objective-C 经典字典数组排序 - 省市区

    本文主要介绍Objective-C 字典数组排序,这里整理相关资料及实现示例代码,有兴趣的小伙伴可以参考下
    2016-09-09
  • IOS Ble蓝牙开发实现方法

    IOS Ble蓝牙开发实现方法

    这篇文章主要为大家详细介绍了IOS Ble蓝牙开发的实现方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • IOS设置UIView的边框为圆角详解及实例

    IOS设置UIView的边框为圆角详解及实例

    这篇文章主要介绍了IOS设置UIView的边框为圆角的相关资料,需要的朋友可以参考下
    2017-03-03
  • iOS移动端软键盘弹起空白和滚动穿透问题解决方案

    iOS移动端软键盘弹起空白和滚动穿透问题解决方案

    这篇文章主要为大家介绍了iOS移动端软键盘弹起空白和滚动穿透问题解决方案,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • ios实现tableView顶部弹簧图片效果

    ios实现tableView顶部弹簧图片效果

    这篇文章主要为大家详细介绍了ios实现tableView顶部弹簧图片效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08

最新评论