打包發(fā)現(xiàn)失敗了掂器,提示IPA processing failed,查看日志:IDEDistribution.standard.log
發(fā)現(xiàn)是因為項目中使用的SDK支持i386丢烘,x86_86這個架構(gòu)柱宦,猜測是iOS13強制不支持模擬器架構(gòu)打包。
各種架構(gòu)解釋:
模擬器32位處理器測試需要i386架構(gòu)铅协,(iphone5捷沸,iphone5s以下的模擬器)
模擬器64位處理器測試需要x86_64架構(gòu),(iphone6以上的模擬器)
真機32位處理器需要armv7,或者armv7s架構(gòu)狐史,(iphone4真機/armv7, ipnone5痒给,iphone5s真機/armv7s)
真機64位處理器需要arm64架構(gòu),(iphone6骏全,iphone6p以上的真機)
解決辦法
刪除SDK中的i386苍柏,x86_86架構(gòu)
我當前使用到了NIMSDK.framework這個SDK,假設(shè)NIMSDK.framework存放的目錄是:
/Users/leo/Desktop/testDir/NIMSDK.framework
1.使用終端進入到SDK內(nèi)部
cd /Users/leo/Desktop/testDir/NIMSDK.framework
2.查看當前支持的架構(gòu)
lipo -info NIMSDK
可以看到NIMSDK當前支持的架構(gòu):
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
再次執(zhí)行打包就行了试吁。
擴展
目標:剔除掉x86_64, i386這兩個架構(gòu)
注:命令中的XXXX.framework 代表的是SDK的完整路徑 而”/XXXX”或者是“XXXX” 后面的單純的4個X沒有后綴的只需要填寫SDK的名字就行
1.查看是否包含x86_64, i386
lipo -info XXXX.framework/XXXX
Architectures in the fat file: XXXX.framework/XXXX are: i386 x86_64 armv7 arm64
2.順序執(zhí)行命令-剔除掉x86_64, i386
mkdir ./bak
cp -r XXXX.framework ./bak
lipo XXXX.framework/XXXX -thin armv7 -output XXXX_armv7
lipo XXXX.framework/XXXX -thin arm64 -output XXXX_arm64
lipo -create XXXX_armv7 XXXX_arm64 -output XXXX
mv XXXX XXXX.framework/