ipa瘦身方法

  1. bitcode

设置 Build Settings -> Enable Bitcode 为 Yes
使用bitcode后,会根据不同设备打包出不同的指定包。比如iPhone 8 plus,那么所有的图片仅仅包含3x图片,而不需要包含2x图片。包大小缩小约1/2。 _
不管任何情况,当前的环境条件下一定要支持bitcode。如果第三方库不支持,将源码下载然后再编译。然后就可以支持bitcode。

  1. Valid Architectures

设置 Build Settings -> Valid Architectures 为 arm64 armv7s
先了解下:(网上抄的)
arm64:iPhone6s | iphone6s plus|iPhone6| iPhone6 plus|iPhone5S | iPad Air| iPad mini2(iPad mini with Retina Display)
armv7s:iPhone5|iPhone5C|iPad4(iPad with Retina Display)
armv7:iPhone4|iPhone4S|iPad|iPad2|iPad3(The New iPad)|iPad mini|iPod Touch 3G|iPod Touch4
这是与Android的abiFilters作用一样,编译不同CPU的指令。如果支持的类型少,那么打出来的包也变小了。
按现在市场上对iPhone4S及以下的设备占有率应该是万分之一了。SO 可以选择放弃了。当然iPhone5 和 5C的也不是很多,原则也可以放弃了。(看领导的心情吧)
如果删除armv7,那么包大小直接减少了三分之一,爽不爽。
提示: 如果你的Deployment Target 已经9.0 或10.0 那么删除armv7可以毫无压力了。

  1. 图片

Android使用的PPDuck神器,在Xcode中无效。所以如果有大图的话,使用jpeg来实现吧。
图片不能放到Assets.xcassets中,需要放到工程目录下,加载图片使用:

NSString *path = [[NSBundle mainBundle] pathForResource:@"home_carousel" ofType:@"jpeg"];
img1.image = [UIImage imageWithContentsOfFile:path];

当图片大于400K或者300K,觉得就可以使用此方案。

你可能感兴趣的:(ipa瘦身方法)