iOS开发问题之:Xcode打包失败IPA processing failed

2023-11-17

打包发现失败了,提示IPA processing failed,查看日志:IDEDistribution.standard.log

image.png

发现是因为项目中使用的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架构
我当前使用到了NIMSDK.framework这个SDK,假设NIMSDK.framework存放的目录是:
/Users/leo/Desktop/testDir/NIMSDK.framework
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

再次执行打包就行了。

扩展

目标:剔除掉x86_64, i386这两个架构

注:命令中的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.顺序执行命令-剔除掉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/



作者:Li_Po
链接:https://www.jianshu.com/p/9b1d1e7ba9c5
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS开发问题之:Xcode打包失败IPA processing failed 的相关文章

随机推荐