当前位置: 首页 > news >正文

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

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

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

 

转载于:https://www.cnblogs.com/OIMM/p/5266218.html

相关文章:

  • Eclipse导入项目:No projects are found to import
  • SLF4J - 借助SLF4J, 统一适配所有日志实现为logback日志实现的实践
  • js作用域和this的理解
  • 关于通知方法递增式调用解决方案
  • log4j 转载
  • javascript常识
  • Eclipse 安装反编译插件jadclipse
  • 从交互式到智能触控:品道智宴冰箱引领新生活
  • 一个样例让你明确原型对象和原型链
  • 网络营销经历过哪三次革命?
  • 自己定制Linux发行版(资料)
  • UVA 10539 Almost Prime Numbers
  • HashMap和HashTable的区别
  • [js高手之路] dom常用API【appendChild,insertBefore,removeChild,replaceChild,cloneNode】详解与应用...
  • Linux文件系统之新建分区(fdisk命令)
  • C学习-枚举(九)
  • HTTP 简介
  • JS数组方法汇总
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • linux学习笔记
  • SpringBoot几种定时任务的实现方式
  • 前端自动化解决方案
  • 学习Vue.js的五个小例子
  • 译有关态射的一切
  • 从如何停掉 Promise 链说起
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (3)llvm ir转换过程
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (a /b)*c的值
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (笔试题)合法字符串
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (六)vue-router+UI组件库
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .gitignore文件---让git自动忽略指定文件
  • .NET CF命令行调试器MDbg入门(一)
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET成年了,然后呢?
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • @RestController注解的使用
  • @TableId注解详细介绍 mybaits 实体类主键注解
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • []sim300 GPRS数据收发程序
  • [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存...
  • [Arduino学习] ESP8266读取DHT11数字温湿度传感器数据
  • [BZOJ 3680]吊打XXX(模拟退火)
  • [C#] 如何调用Python脚本程序
  • [C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测
  • [C++从入门到精通] 14.虚函数、纯虚函数和虚析构(virtual)
  • [corCTF 2022] CoRJail: From Null Byte Overflow To Docker Escape