更新到Xcode11后修改了点bug,一直没有打包,今天打包发现失败了,提示IPA processing failed,查看日志:IDEDistribution.standard.log
发现是因为项目中使用的SDK支持i386,x86_86这个架构,猜测是iOS13强制不支持模拟器架构打包。
-
各种架构解释:
- 模拟器32位处理器测试需要i386架构,(iphone5,iphone5s以下的模拟器)
- 模拟器64位处理器测试需要x86_64架构,(iphone6以上的模拟器)
- 真机32位处理器需要armv7,或者armv7s架构,(iphone4真机/armv7, ipnone5,iphone5s真机/armv7s)
- 真机64位处理器需要arm64架构,(iphone6,iphone6p以上的真机)
解决办法
删除SDK中的i386,x86_86架构
1.使用终端进入到SDK内部
cd /Users/leo/Desktop/testDir/NIMSDK.framework
2.查看当前支持的架构
lipo -info NIMSDK
可以看到NIMSDK当前支持的架构:
Architectures in the fat file: NIMSDK are: i386 x86_64 armv7 arm64
3.删掉i386,x86_86
lipo -remove i386 NIMSDK -o NIMSDK
lipo -remove x86_64 NIMSDK -o NIMSDK
以上是删除架构方法, 也可以取出架构重新组建, 以下方法(未测试)
mkdir ./bak
mkdir ./bak
cp -r Flutter.framework ./bak
lipo Flutter.framework/Flutter -thin armv7 -output Flutter_armv7
lipo Flutter.framework/Flutter -thin arm64 -output Flutter_arm64
lipo -create Flutter_armv7 Flutter_arm64 -output Flutter
mv Flutter Flutter.framew ork/