今天打包新版本上传到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.检查根证书是否过期

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

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

iOS 上传新版本到AppStore时报错ITMS-90034的更多相关文章

  1. iOS: 上传App到AppStore,由于Xcode上传太慢,换成Application Loader上传,速度秒传

    一.遇到的遭遇 在之前的项目开发中,本人有点固执,一直采用xcode打包后再上传,结果可想而知: (1)要么上传时速度慢的跟蜗牛似的,等的我心力交瘁(不排除网络不给力的原因,公司这个吊问题快把我气疯了 ...

  2. iOS 上传APP到AppStore 卡在 Authenticating with the iTunes store 提示

    上传APP的时候,遇到了问题,一直卡在Authenticating with the iTunes store提示这里, 解决办法:在Application Loader里面登录需要上传APP的开发者 ...

  3. Uedior上传大文件超时报错

    出错原因: 1.php超时等待时间太短 2.uedior中设置了请求超时,提示信息: 上传失败,请重试 先解决第一个问题: 设置php.ini中的max_execution_time 为0 (意思是h ...

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

    今天打包新版本上传到AppStore时报错 ERROR ITMS-90034:"Missing or invalid signature.The bundle'com.xxx.xxx' at ...

  5. Xcode - Xcode10上传应用到AppStore

    Xcode 10 如何上传应用到AppStore?Product->Archive 后,原来Xcode 10 之前的版本是直接有两个按钮,一个upload to AppStore,另一个叫Exp ...

  6. IOS上传文件开发

    IOS上传文件开发     在移动应用开发  文件形式上传是不可缺少的,近期把IOS这块文件上传文件代码简单的整理一下.假设大家有须要安卓这边的代码,本人也能够分享给大家! QQ群:74432915 ...

  7. windows中修改catalina.sh上传到linux执行报错This file is needed to run this program解决

    windows中修改catalina.sh上传到linux执行报错This file is needed to run this program解决 一.发现问题 由于tomcat内存溢出,在wind ...

  8. Git上传代码遇到的报错

    Git上传代码遇到的报错 1.git上传代码卡住(Total 7072 (delta 2508), reused 6844 (delta 2376), pack-reused 0) git confi ...

  9. iOS上传App Store报错:this action cannot be completed -22421 解决方案

    最近swift项目升了xcode8,提交版本时,遇到这个: this action cannot be completed -22421 瞬间懵逼,连具体报错原因都没有,只有一个代码 22421,找了 ...

随机推荐

  1. Insert Plain Text and Images into RichTextBox at Runtime

    Insert Plain Text and Images into RichTextBox at Runtime' https://www.codeproject.com/Articles/4544/ ...

  2. c#中如何执行存储过程

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  3. VB.NET WinForm获取运行程序用户名

    一个程序也许会被多个用户运行,如下: 那在VB.NET的WinForm环境下,怎样获取User Name呢?可从下面的方法: 代码: Public Shared Function GetProcess ...

  4. C#获取执行存储过程的" 返回值"代码

    以下是C#代码: /// <summary> /// 执行存储过程,返回" 返回值" /// </summary> /// <param name=& ...

  5. 关于Response.Redirect和Server.Execute的区别

    Server.Transfer("path")内部重定向请求,是服务器内部的接管,浏览器无法意识到这个接管的发生,浏览器地址栏也不会发生变化.而Response.Redirect( ...

  6. Java总结篇系列:Java String

    String作为Java中最常用的引用类型,相对来说基本上都比较熟悉,无论在平时的编码过程中还是在笔试面试中,String都很受到青睐,然而,在使用String过程中,又有较多需要注意的细节之处. 1 ...

  7. # 关于Apache的25个初中级面试题

    注:本文从自己的Markdown博客复制出,除标题字体加粗.代码风格改变.图片重新上传外其余均为markdown语法. 标签(空格分隔): LAMP --- 原文:[关于Apache的25个初中级面试 ...

  8. 玩转Docker之Docker简介(一)

    近几年掀起的docker热潮,可谓席卷全球.什么原因使它这么备受推崇呢?主要是因为它解决了行业痛点.玩linux的都知道,安装个应用时还要先安装所需环境.相关库.解决依赖关系.而docker的出现,很 ...

  9. Date类型 方法

    Date 方法函数 Date.parse():可以获得该日期的毫秒数 var now=Date.parse('May 25,2005')//1085414400000 Date.UTC():也可以获得 ...

  10. 使用 HTML5 WebGL 实现逼真的云朵效果

    这里给大家展示一个使用 HTML5 WebGL 实现超逼真的云朵效果.WebGL 是一项在网页浏览器呈现3D画面的技术,有别于过去需要安装浏览器插件,通过 WebGL 的技术,只需要编写网页代码即可实 ...