第一种解决方法:

I think I figured out why the simple delete is not working. Because the dev certificate is still stored in the provision profile, when I close/re-open the Xcode after deleting the certificate in Keychain, I saw the old certificate come back. So I delete it
again. It worked.

The simple delete the profile solution did not work for me.

Solution that worked in my case:

  1. Quit Xcode
  2. If the Keychain access is open, keep it open.
  3. Launch Xcode now.
  4. See that the certificate Xcode was complaining about will be re-added into the keychain at launch from its cache.
  5. Go ahead and delete it.
  6. Compile and happy coding.

第二种解决方法:

我解决了这个问题,自己来回答下吧:



原因是keychain access中存在过期的'iPhone Distribution: xxxx',但没有显示在钥匙链/登录中,而是在钥匙链/系统中,并且是隐藏的,因此需要在钥匙链->显示->显示过期证书,然后把钥匙链下的登录和系统的过期证书都删掉。



而且我在搜寻答案的时候,看到一篇帖子,有可能删除过期证书失败,但是在keychain里面却显示删除成功,这个问题的解决方法是重启keychain,删除,重复这个过程直到真正删除成功。



有时候在keychain里面找不到已过期、多余的证书,但我们在xcode的target的building setting的code signing里面却能够看到多余的证书,这个就证明我们的keychain并没有清楚干净。



总结下,解决这个问题的步骤是:1.清掉keychain里面多余的证书。2.刷新xcode里面的provisioning profile。



下面贴出官方的Troubleshooting:



This error indicates that while searching all keychains, Xcode found more than one signing certificate
for the same iOS developer program team member, and it does not know which one to use for code signing.



To resolve the problem, use the following process to ensure that there is only one copy of each certificate
type: "iPhone Developer" or "iPhone Distribution" within the entire keychain, for the same team member.



In Keychain Access, make sure your "View" menu > Show Expired Certificates option is turned ON

Click the "Certificates" 'Category' and then click through every one of the keychains you have listed in
your 'Keychain' sidebar in Keychain Access. If you see any duplicates, even expired certificates, delete those duplicates.

Click the "Keys" 'Category' in Keychain Access.

Navigate through every keychain looking for and deleting any "Orphaned Keys" that have the same Common
Name as the affected certificate. Orphaned keys are ones that are not bound by a Disclosure Triangle to an iPhone Developer or iPhone Distribution certificate that currently exists in the keychain.

If you found and removed any extra keys or certificates, please reattempt your build.

If the issue persists after removing all active or expired duplicate certificates or keys by the same common
name, you might try removing *all* existing signing certificates and keys and replace them with new ones using the steps in How do I delete/revoke my certificates and start over fresh?.

Finally, if the error persists even after creating new certificates, please control-click on the affected
certificate in Keychain Access, choose "New Identity Preference" and click the 'Certificate' field. If you see duplicate certificates listed in here, this is an known and uncommon issue with Keychain Access. To work around the problem, try the following:

Export your developer profile using the process in Transferring Your Identities.

Create a new OS X User Account, install Xcode for the new user and import the developer profile created
in the previous step. 

版权声明:本文为博主原创文章,未经博主允许不得转载。

Codesign error: Certificate identity appearing twice的更多相关文章

  1. How do I resolve the CodeSign error: CSSMERR_TP_NOT_TRUSTED?

    How do I resolve the CodeSign error: CSSMERR_TP_NOT_TRUSTED? The Xcode build error titled "CSSM ...

  2. centos6.9出现openvpn:error=certificate signature failure的处理

    原因: 将原来openwrt上用的证书复制到centos 6.9后,客户端都连不上了,查了服务器log,出现是error=certificate signature failure错误. 处理方法见帖 ...

  3. wget 无法建立ssl连接 [ERROR: certificate common name ?..ssl.fastly.net?.doesn?. match requested host name ?.ache.ruby-lang.org?. To connect to cache.ruby-lang.org insecurely, use ?.-no-check-certificate?]

    通过wget下载文件,报错 [root@Redmine-186 opt]# wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.6.tar.g ...

  4. code.google.com certificate error: certificate is for www.google.com

    有时候我们会碰到下面错误:code.google.com certificate error: certificate is for www.google.com,类似如下: D:\>go ge ...

  5. node.js request请求url错误:证书已过期 Error: certificate has expired

    场景: node:8.9.3版本 报错代码: Error: certificate has expired at TLSSocket.<anonymous> (_tls_wrap.js:1 ...

  6. RDP Error: The Identity Of The Remote Computer Cannot Be Verified

    As i always need to remote to 20 servers at the same time, so i use a tool called Remote Desktop Con ...

  7. CodeSign error: code signing is required for product type Application in SDK iOS

    在真机测试的时候往往会突然出现这样一个错误,code signing is required for product type 'Application' in SDK 'iOS 7.0'  ,就是说 ...

  8. Iphone CodeSign error: no provisioning profile at path 错

    今天在退房手续,变化了profile,当再次进行整理编译项目时.就出现了这个问题,在xCode 6 开发环境下出现了, 出现这个错误提示Code Sign error: Provisioning pr ...

  9. [BEROR]CodeSign error: code signing is required for product type &#39;Application&#39; in SDK &#39;iOS 8.1&#39;

    解决方法: 选择project->Build Settings -> Code Signing -> Code Signing Identity -> Debug -> ...

随机推荐

  1. Chai.js断言库API中文文档

    基于chai.js官方API文档翻译.仅列出BDD风格的expect/should API.TDD风格的Assert API由于不打算使用,暂时不放,后续可能会更新. BDD expect和shoul ...

  2. 2018-8-10-安装-wordpress-出现-抱歉,我不能写入wp-config.php文件

    title author date CreateTime categories 安装 wordpress 出现 抱歉,我不能写入wp-config.php文件 lindexi 2018-08-10 1 ...

  3. bzoj2049: [Sdoi2008]Cave 洞穴探测

    bzoj2049: [Sdoi2008]Cave 洞穴探测 给n个点,每次连接两个点或切断一条边,保证是树结构,多次询问两个点是否联通 Lct裸题 //Achen #include<algori ...

  4. git操作github指令

    常用git命令: $ git clone  //本地如果无远程代码,先做这步,不然就忽略 $ cd //定位到你blog的目录下 $ git status //查看本地自己修改了多少文件 $ git ...

  5. 属性中id和name的区别

    id 在HTML中的作用:      1.用id选择相应的style sheet(风格).       2. <A ..> 链接的目的地      3.脚本语言用它找目的地(找该id的标签 ...

  6. webpack学习之—— Loaders

    loader 用于对模块的源代码进行转换.loader 可以使你在 import 或"加载"模块时预处理文件.因此,loader 类似于其他构建工具中“任务(task)”,并提供了 ...

  7. PHP判断一个文件是否能够被打开

    <?php // 需求:因为系统涉及大量的文档知识库,用户可以在线进行查看.为了验证文档是否正常打开.先需要从数据库取出路径和文件名,判断是否可以从对应的路径下打开文件.header(" ...

  8. 快速排序的一种实现(Mark Allen 数据结构与算法 c语言版)

    之前关于快速排序一直比较模糊,网上有几种常见写法: 方法一: void quickSort(int s[], int l, int r) { if (l< r) { int i = l, j = ...

  9. C# System.Timers.Timer中的坑,程序异常退出后timer依然运行问题

    问题背景 C#小白,由于本公司IM系统服务端(java)是本人独立开发的,加上现在所在项目需要对接IM系统,于是IM的客户端(C#实现)对接工作就交给我了.于是C#小白的我天真的以为只要调用C#端的S ...

  10. vue移动端项目

    用vue mint-ui  jquery-weui写了一个移动端demo 技术栈 vue2.0 vue-router axios mint-ui jquery-weui webpack 页面截图 最后 ...