更新了xcode11 ,archive成功之后,点击distribute会出现 ipa peocess failed 的报错,看官方文档解释说,ios13 不支持i386 x86_86架构,而我们项目目前所使用的第三方库却包含这两个架构,我目前项目涉及到包含该架构的第三方库是阿里支付的SDK,解决方法如下,如果,archive成功之后,发现ipa process failed 界面,可以店家左下角的show logs,里面有好几个文件,点击一个结尾是stands的log 打开,搜索x86_86可以搜索到,项目中包含该架构的第三方库,执行以下命令 lipo -infoXXXX(XXX为SDK名称不带.framework后缀)
回车之后会出现:Architectures in the fat file: XXXSdk are: i386 x86_64 armv7 arm64
表明哪个SDK含有i386 x86_64 架构 执行:lipo -remove i386 XXXXSDK -o XXXXSDK和 lipo -remove x86_64 XXXXSDK -o XXXXSDK分别移除i386和x86_64 再次编译即可
注意,以上架构产生,主要是第三方SDK,包含模拟器包导致,一般第三方framework会把真机包和模拟器包合并,执行上述删除之后,再次运行,可能会出现在模拟器运行时报错的情况,占时无法避免,真机运行和打包上传可正常。如果执行上述操作后,打包任然报错ipa process failed 可以showlogs 看日志,重复上文中搜索x86_86操作,以保证所有含有x86_86架构的第三方SDK都被删除掉。
网友评论