前阵子项目中集成了百度Aip SDK, 真机测试没问题, 打包上传时却悲剧了, 一片红红火火.
使用网上流传的shell脚本, 去除不支持的architectures, 结果发现并没有什么用.
折腾了好一阵子, 最后决定自己手动剥离.
1 ) 找到工程中的AipBase.framework ,右键showInFinder
2 ) 打开终端, 输入cd 然后把framework拖到终端.
3 ) 查看framework支持的架构.
终端 lipo -info ../AipBase.framework/AipBase,
显示Architectures in the fat file: ../AipBase.framework/AipBase are: i386 x86_64 armv7 armv7s arm64 , 里面有我们不需要两种架构 i386 x86_64
4 ) 手动剥离我们的需要的架构
新建临时文件夹
mkdir armv7
mkdir armv7s
mkdir arm64
lipo ../AipBase.framework/AipBase -thin armv7 -output ./armv7/AipBase
lipo ../AipBase.framework/AipBase -thin armv7s -output ./armv7s/AipBase
lipo ../AipBase.framework/AipBase -thin arm64 -output ./arm64/AipBase
5 ) 将上面生成的三个库合成一个, 并替换原来的那个库
lipo -create ../armv7/AipBase ../armv7s/AipBase ../arm64/AipBase -output ../AipBase.framework/AipBase
6 ) 清理临时文件夹
rm -rf ../armv7
rm -rf ../armv7s
rm -rf ../arm64
6 ) 检验生成的framework架构是否符合你的要求
lipo -info ../AipBase.framework/AipBase
显示 Architectures in the fat file: ../AipBase.framework/AipBase are: armv7 armv7s arm64
7 ) Bug fixed! 打包, 上传, 回家.