接入第三方SDK时,可能会遇到多个库文件符号冲突的问题,找出冲突符号,删除,再重新打包库文件可解决一部分问题,主要步骤如下:
1.查看静态库信息,会打印出库文件支持的架构
lipo -info xx.a
2.解出不同架构的.a文件(命令中 armv7 为支持的架构,按需填入,例如arm64、i386等)
lipo xx.a -thin armv7 -output xx_armv7.a
3.查看文件列表
ar -t xx.a
4.解压.a文件
ar xv xx.a
5.删除冲突的符号文件,
例如 xx.o
6.打包.a文件
ar rcs xx.a
7.重新合并不同架构的.a文件
lipo -create xx_armv7.a xx_arm64.a xx_i386.a -output xx.a
网友评论