【xcode中接入第三方库,导致duplicate symbol报错】
duplicate symbol _OBJC_CLASS_$_SBJSON in:
/Users/cldeer/Library/Developer/Xcode/DerivedData/FarmDay-fkwjxaxxooyqhigfylsjjxtgahkg/Build/Intermediates/FarmDay.build/Debug-iphoneos/FarmDay.build/Objects-normal/arm64/SBJSON.o
/Users/cldeer/Documents/cocos2d-x-2.2.6/projects/FarmDay/proj.ios/Shephertz_App42_iOS_API.framework/Shephertz_App42_iOS_API
【尝试一】
网上比较普遍的做法是将静态库拆分为最小的obj文件,然后删除重复的obj,最后再重新打包
farmework虽然不是静态库,可以尝试一下
1、先找到第三方库文件(或framework),查看其支持的平台
cldeerdeMac-mini:A cldeer$ lipo -info Shephertz_App42_iOS_API
Architectures in the fat file: Shephertz_App42_iOS_API are: i386 x86_64 armv7 arm64
2、分离出某个单独框架
cldeerdeMac-mini:A cldeer$ lipo -extract_family armv7 -output libv7.a Shephertz_App42_iOS_API
3、将单个框架的库解压,生成.o文件
cldeerdeMac-mini:A cldeer$ ar -x libv7.a
ar: libv7.a: Inappro
duplicate symbol _OBJC_CLASS_$_SBJSON in:
/Users/cldeer/Library/Developer/Xcode/DerivedData/FarmDay-fkwjxaxxooyqhigfylsjjxtgahkg/Build/Intermediates/FarmDay.build/Debug-iphoneos/FarmDay.build/Objects-normal/arm64/SBJSON.o
/Users/cldeer/Documents/cocos2d-x-2.2.6/projects/FarmDay/proj.ios/Shephertz_App42_iOS_API.framework/Shephertz_App42_iOS_API
【尝试一】
网上比较普遍的做法是将静态库拆分为最小的obj文件,然后删除重复的obj,最后再重新打包
farmework虽然不是静态库,可以尝试一下
1、先找到第三方库文件(或framework),查看其支持的平台
cldeerdeMac-mini:A cldeer$ lipo -info Shephertz_App42_iOS_API
Architectures in the fat file: Shephertz_App42_iOS_API are: i386 x86_64 armv7 arm64
2、分离出某个单独框架
cldeerdeMac-mini:A cldeer$ lipo -extract_family armv7 -output libv7.a Shephertz_App42_iOS_API
3、将单个框架的库解压,生成.o文件
cldeerdeMac-mini:A cldeer$ ar -x libv7.a
ar: libv7.a: Inappro