主要的一个问题是SDK体积过大。主要原因是各三方库开发人员为了兼容模拟器和真机的CPU真机在电脑上面跑的需要用到i386 x86编译的版本,而手机只需要用到arm64和armv7.其中armv7s可以被armv7兼容。
这样的话 就可以把SDK中i386和x86_64的版本给移除 具体方法如下:
lipo libSocialQQ.a -thin armv7 -output libSocialQQ-armv7.a 创建armv7的版本
lipo libSocialQQ.a -thin arm64 -output libSocialQQ-arm64.a 创建arm64的版本
lipo -create libSocialQQ-armv7.a libSocialQQ-arm64.a -output libSocialQQ.a
weixin
lipo libSocialWeChat.a -thin armv7 -output libSocialWeChat-armv7.a 创建armv7的版本
lipo libSocialWeChat.a -thin arm64 -output libSocialWeChat-arm64.a 创建arm64的版本
lipo -create libSocialWeChat-armv7.a libSocialWeChat-arm64.a -output libSocialWeChat.a
lipo libSocialEmail.a -thin armv7 -output libSocialEmail-armv7.a 创建armv7的版本
lipo libSocialEmail.a -thin arm64 -output libSocialEmail-arm64.a 创建arm64的版本
lipo -create libSocialEmail-armv7.a libSocialEmail-arm64.a -output libSocialEmail.a
SMS
lipo libSocialSMS.a -thin armv7 -output libSocialSMS-armv7.a 创建armv7的版本
lipo libSocialSMS.a -thin arm64 -output libSocialSMS-arm64.a 创建arm64的版本
lipo -create libSocialSMS-armv7.a libSocialSMS-arm64.a -output libSocialSMS.a
jcore
lipo libjcore-ios-1.1.7.a -thin armv7 -output libjcore-ios-1.1.7-armv7.a 创建armv7的版本
lipo libjcore-ios-1.1.7.a -thin arm64 -output libjcore-ios-1.1.7-arm64.a 创建arm64的版本
lipo -create libjcore-ios-1.1.7-armv7.a libjcore-ios-1.1.7-arm64.a -output libjcore-ios-1.1.7.a
jpush
lipo libjpush-ios-3.0.8.a -thin armv7 -output libjpush-ios-3.0.8-armv7.a 创建armv7的版本
lipo libjpush-ios-3.0.8.a -thin arm64 -output libjpush-ios-3.0.8-arm64.a 创建arm64的版本
lipo -create libjpush-ios-3.0.8-armv7.a libjpush-ios-3.0.8-arm64.a -output libjpush-ios-3.0.8.a
输出一个只能运行在真机上面的SDK版本 替换掉原SDK 这种做法让SDK会体积减半
建议上架之前再进行这些操作 保证平时开发的时候能够正常用模拟器跑起来
网友评论