iOS 打包处理和打包失败IPA processing fail
2020-08-01 本文已影响0人
弹吉他的少年
打包处理和打包失败IPA processing failed
1、生成ipa包
第一种快速生成
1、编译command + B(备注:需要先配置好项目证书和描述文件)
2、Products -> xxx.app -> Show in Finder -> 压缩,压缩完成后把压缩包后缀改为ipa
第二种导出
1、Xcode -> Product -> Archive
2、Distribute App -> Ad Hoc导出
附上4种导出ipa介绍:
App Store Deployment 保存到本地 准备上传App Store或者在越狱的iOS设备上使用
Ad Hoc 保存到本地 开发者账户下添加可用UDID设备上使用
Enterprise 企业级账户下 准备本地服务器分发的app
Development 和第二种差不多
打包出现 IPA processing failed
原因1:项目中使用的SDK支持i386,x86_86这个架构,猜测是iOS13强制不支持模拟器架构打包
查看日志,发现使用的opencv2包含这两架构
解决方案1:
1、终端进入到SDK内部
cd 指定路径 opencv2.framework
2、查看当前支持的架构
lipo -info opencv2
3、删掉i386,x86_86这两架构
lipo -remove i386 opencv2 -o opencv2
lipo -remove x86_64 opencv2 -o opencv2
4、重新打包处理
附上各种架构解释:
模拟器32位处理器测试需要i386架构,(iphone5,iphone5s以下的模拟器)
模拟器64位处理器测试需要x86_64架构,(iphone6以上的模拟器)
真机32位处理器需要armv7,或者armv7s架构,(iphone4真机/armv7, ipnone5,iphone5s真机/armv7s)
真机64位处理器需要arm64架构。(iphone6,iphone6p以上的真机)
解决方案2:
1、Enterprise distribution options页面,在Additional Options,取消选择Rebuild from Bitcode.
2、Next 导出
解决方案3:
使用低版本的Xcode打包,低于Xcode11
参考文档:https://www.jianshu.com/p/0145916f2139
https://www.pianshen.com/article/28371030226/
https://www.crifan.com/xcode_archive_ota_ipa_fail_ipatool_failed_with_an_exception_cmdspec_nonzeroexcitexception_bitcode_build_tool/