IOS pod package 报错:Pods/build/package.a and Pods/build-sim/package.a have the same architectures

报错信息:

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里增加这个设置。

build setting增加excluded architectures设置

但是,我是在使用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这个文件

在这个位置增加这一行,最终解决

你可能感兴趣的:(IOS pod package 报错:Pods/build/package.a and Pods/build-sim/package.a have the same architectures)