1、.a中可能包含三种属性的文件 可通过控制台 xcrun -sdk iphoneos lipo -info libx.a 查看
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
2、首先分离libx.a中的armv7
xcrun -sdk iphoneos lipo -extract_family armv7 -output libx-armv7.a libx.a
3、分离后得到的libx-armv7.a,将其分解得到其所有的.o文件
ar -x libx-armv7.a
4、现在得到其所有的.o文件,删除与项目中冲突的.o,把剩下的.o文件合成新的newlibx.a-armv7.a
libtool -static -o ../newlibx-armv7.a *.o
5、到这里armv7类型的.o文件冲突接本解决了,接下来继续分离arm64类型的.a
lipo libe.a -thin arm64 -output libx-arm64.a
6、同理分解libx-arm64
ar -x libx-armv64.a
7、得到所有的.o文件,删除冲突的文件,合成心得newlibx-arm64.a
libtool -static -o ../newlibx-arm64.a *.o
8、将newlibx-armv7和newlibx-arm64合并成新的.a
lipo -create -output newlibx.a newlibx-armv7.a newlibx-arm64.a
网友评论