报错信息:
fatal error: /Applications/Xcode 12.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: Pods/build/package.a and Pods/build-sim/package.a have the same architectures (arm64) and can't be in the same fat output file
网上搜索一番找到的原因:xcode12之后,模拟器也支持arm64架构,所以打包时,合成fat库的时候,会报“have the same architectures (arm64)”。
网上查找这个问题的话,都是针对xcode编译报错的,说在buildSetting里增加这个设置。
但是,我是在使用pod package时发生的错误,那怎么增加这个配置。首先想到的是在.podspec里做修改:增加一个配置:s.pod_target_xcconfig = {'EXCLUDED_ARCHS [sdk = iphonesimulator *]'=>'arm64'}
但重新打包发现不起作用,难道是这个设置没生效还是不支持?
所以我又去捞取了一下cocoapods-package打包时生成的工程目录,发现这个EXCLUDED_ARCHS配置只作用在sdk的target上。
又重新查了一下资料,发现在cocoapods-package的源码里可以增加这个配置。就有找了源码
cocoapods-package源码路径查找方式:
gem environment
找到pod_utils.rb这个文件
在这个位置增加这一行,最终解决