打包新版本上传到AppStore时报错 ERROR ITMS-90034:

Posted OIMM

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打包新版本上传到AppStore时报错 ERROR ITMS-90034:相关的知识,希望对你有一定的参考价值。

今天打包新版本上传到AppStore时报错 ERROR ITMS-90034:"Missing or invalid signature.The bundle‘com.xxx.xxx‘ at bundle path ‘Payload/xxx‘ is not signed using an Apple submission certificate."

技术分享

这个错误是由证书错误导致的,解决这个问题可以按以下步骤依次查找

1.检验发布证书是否有效,打开钥匙串,找到发布证书,发布证书名字中有Distribution的文件,如果在下图中红框标识出的地方显示此证书的“签发者无效”

技术分享

2.如果发布证书是在本机生成的(生成发布证书时上传的.certSigningRequest文件是在本机生成的),请看步骤4,如果发布证书不是在本机生成的请看步骤3

3.检验私钥安装是否成功,私钥如果安装成功,在钥匙串中查看时,我的证书和密钥中的文件都是可以展开的,两边展开后的文件是对应的,如下图所示

技术分享

技术分享

没有安装私钥时的效果如下,红框处没有可展开的标识

技术分享

此时我们需要从最开始生成发布证书的那台电脑上导出一个后缀为.p12的文件

导出方法如下

在生成发布证书的电脑上找到已经安装好的有对应密钥且有效的发布证书,右键->导出“iPhone Distribution”

技术分享

输入名字以便以后区分,选择保存路径

技术分享

输入密码保证别人不会盗用

技术分享

这样就导出了一个p12文件,拷贝到自己电脑双击安装即可

技术分享

当这台电脑安装了p12文件后,其他电脑如果需要使用这个发布证书,也能够使用从这台电脑导出的p12文件(我没测试)

如果到这里,发布证书任然提示“此证书的签发者无效”,请看步骤4

4.检查根证书是否过期

注意:钥匙串会默认将过期的证书隐藏,所以检查时先设置“显示已过期的证书”

技术分享

在钥匙串中找到已过期的根证书,并删掉,根证书可能放在好几个地方,所以最好把下图中红框标识的位置的查看到,这个过期的根证书必须删掉,就算你有一个有效的根证书也不行,只要你过期根证书没删干净就会报错

技术分享

 

以上是关于打包新版本上传到AppStore时报错 ERROR ITMS-90034:的主要内容,如果未能解决你的问题,请参考以下文章

iOS-ERROR ITMS-90717: can’t be transparent nor contain an alpha channel.

springCloud多模块打包时报错问题

将新版本上传到 Testflight 但保持旧版本有效(Xamarin)

webpack打包时报错ERROR in static/js/vendor.35f3cd6381fdca8d6f5b.js from UglifyJs

[iOS Xcode8]上传AppStore 无法构建版本 没有➕号

将 iOS 应用上传到 AppStore(上传到 App Store 时出错。)