iOS APP瘦身技巧之第三方SDK瘦身

本人所开发的一款应用使用了ShareSDK第三方分享库,该库的体积吓尿了,30MB+,并且只包含微信和新浪微博第三方分享功能,坑爹啊。于是决定砍掉ShareSDK,使用原生新浪微博SDK和微信SDK。既然目的是瘦身,那就要做得彻底,干脆也把原生SDK页瘦身一下,瘦身方法如下:

新浪微博iOS SDK瘦身

新浪微博iOS SDK去这里下载

下载下来后存放在/tmp/文件夹下,打开该文件夹后里面的结构如下:

这里写图片描述

查看该SDK后发现11MB左右,我的APP才4MB左右,于是想着看能不能把这个肥婆变瘦。
Xcode提供了一个lipo命令可用于查看、打包、瘦身静态库,这个命令的用法如下:

查看微博iOS SDK静态库的组成:

>libWeiboSDK Johnkui$ lipo -info libWeiboSDK.a
Architectures in the fat file: libWeiboSDK.a are: armv7 arm64 i386 x86_64 

从输出可看出,该静态库可用于真机和模拟器,但是我们应用都用于真机,所以把用于模拟器部分剔除,剔除之前,需要先把用于真机部分摘取出来,如下:

>libWeiboSDK Johnkui$ lipo -thin armv7 libWeiboSDK.a  -output libWeiboSDK.armv7.a
>libWeiboSDK Johnkui$ lipo -thin arm64 libWeiboSDK.a  -output libWeiboSDK.arm64.a

然后将摘取出来的这两个静态库合并生成一个新的静态库:

>libWeiboSDK Johnkui$ lipo -create libWeiboSDK.arm64.a libWeiboSDK.armv7.a -output libWeiboSDK.device.a

这样就生成了一个用于真机使用的微博iOS SDK,大小减小了3M左右

微信iOS SDK瘦身

微信iOS SDK去这里下载

我就不去下载了,干脆从ShareSDK中把微信SDK拿出来分析,查看该SDK:

>WeChatSDK Johnkui$ lipo -info libWeChatSDK.a 
Architectures in the fat file: libWeChatSDK.a are: armv7 armv7s arm64 i386 x86_64 

从输出情况可以看出,该库可用于armv7, armv7s和arm64命令集型的真机和模拟器,而指令集是后向兼容的,也就是说armv7指令集可以运行在支持armv7s指令集的机型上;因此摘取armv7和arm64部分就可以了:

>WeChatSDK Johnkui$ lipo -thin armv7 libWeChatSDK.a -output libWeChatSDK.armv7.a
>WeChatSDK Johnkui$ lipo -thin arm64 libWeChatSDK.a -output libWeChatSDK.arm64.a

然后将摘取的部分打包:

>WeChatSDK Johnkui$ lipo -create libWeChatSDK.armv7.a libWeChatSDK.arm64.a -output libWeChatSDK.device.a
>WeChatSDK Johnkui$ ls -l
total 8752
-rw-r--r--  1 Johnkui  staff     4484  8 18 10:21 WXApi.h
-rw-r--r--  1 Johnkui  staff    14106  8 18 10:21 WXApiObject.h
-rw-r--r--@ 1 Johnkui  staff  2187116  8  5 10:15 libWeChatSDK.a
-rw-r--r--  1 Johnkui  staff   494680  8  5 10:15 libWeChatSDK.arm64.a
-rw-r--r--  1 Johnkui  staff   422800  8  5 10:15 libWeChatSDK.armv7.a
-rw-r--r--  1 Johnkui  staff   422048  8  5 10:15 libWeChatSDK.armv7s.a
-rw-r--r--  1 Johnkui  staff   917528  8 22 08:32 libWeChatSDK.device.a

瘦身后SDK由2.2MB变成91KB,大大滴减小了SDK体积。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值