证书过期导致的0xe8008016/0xE8008018与no identity found错误问题

下午打开手机上的测试App发现一打开就闪退,在Xcode中看Device Log显示下面的错误:

app.app/app not valid: 0xe8008016: The executable was signed with invalid entitlements.

之前都好好的,一看就是证书出了问题,联想到之前刚刚给开发者账号续过费,猜测是证书过期了。

去钥匙串里一看,果然是证书过期了。于是去开发者中心重新生成了证书,下载安装。同时重新下载了对应的mobileprovision文件并安装。

不知道为什么再运行的时候出现了一个下面的错误:

The identity used to sign the executable is no longer valid.
Please verify that your device’s clock is properly set, and that your signing certificate is not expired. (0xE8008018).

先是检查了一下 General中的Team发现信息不对改成了正确的,然后在Build Setting中更新了Code Sign Identity设置和Provisioning Profile设置。

然后倒好,编译时就直接出错,提示no identity found。

这就头痛了,证书明明已经更新为最新了,然后是Provisioning Profile的问题?根据更新xcode6 运行报错 Command /usr/bin/codesign failed with exit code 1这篇文章的说法,我以为是Provisioning Profile过期的问题,因为这个app的profile更新过很多次,有的的确过期了,而且生成了很多同名的mobileprovision文件。

在“iphone配置使用工具”中,确实能找到同名的profile,把旧的同名profile文件都删掉,只保留掉最新的,编译也还是报错。——原文里没说怎么在“iphone配置使用工具”中删除profile文件,刚开始找不到删掉的办法,强行打开~/Library/MobileDevice/Provisioning Profiles文件夹删掉,后来还是找到了方法,是按Backspace键来删除profile文件。

试过重启Xcode,Clean所有Build,依然不能解决。

突然就想,原来的证书过期了,对应的Provisioning Profile是不是要重新生成才行?在开发者中心里删掉旧的profile文件再重新生成,指定新的证书,下载安装后测试果然就可以了。

现在再回顾一下,觉得问题的根源应该是mobileprovision文件绑定了证书的ID。如果证书过期,对应的mobileprovision文件也全部失效,但是你在文件预览或者“iphone配置使用工具”中看到它没有过期,以为还能用,这就是坑爹的地方。

no such provisioning profile was found错误

后来有一次做archive版本后再联机调试安装,Xcode报下面的错误:
Your build settings specify a provisioning profile with the UUID “xxxxx”, however, no such provisioning profile was found.

其中的xxxxx是provisioning profile的序列号,我检查了一下这个profile是已经在我的Mac上安装了,但是编译时就是会提示上面的错误,按照《更新证书错误:No matching provisioning profiles found》上的步骤操作了一遍没有解决问题,然后看ios - Xcode 7.2 no matching provisioning profiles found - Stack Overflow里说要重启Xcode,这样做了一遍,果然就好了。看来就是Xcode抽风。

your account already has a valid iOS Distribution certificate问题

以上错误是在用Xcode做Archive后提交AppStore遇到的错误,并有以下具体的说明:
you have a valid iOS Distribution certificate in the Member Center, but it is not installed locally. If your signing identity is installed on another Mac, you can export a developer profile on that Mac and import it on this Mac. You can also reset your current certificates.

但是做企业版就没有这个问题。
搜了一下网上说有要撤销证书再重新生成下载安装的,还有把电脑上的证书删掉,再从别人那里拿p12文件安装。不排除上面的办法对有些人有用,但是对我完全没有效果。

其实真正的核心点在于为什么做企业版就没有这个问题?后来我想明白了,其实是因为上次做企业版ipa包的时候,在Scheme里的Archive中将Build Configuration设置为了Enterprise,这意味着做出来的ipa包只能适用于企业版的签名,而不能用于Appstore Distribution版。

把Build Configuration设置修改为对应Appstore Distribution版的Release,再重新试了一遍,就解决问题了。

应该还是有办法避免这个问题的,比如用脚本进行编译,一些参数应该是写死的,就不会有这个问题了。

20161101更新:
昨天又遇到这个问题了,查了半天发现是我在公司开发者账号上创建的证书被别人给删了,对应的provision profile出现了invalid提示。更新证书和provision profile文件才解决问题

No matching provisioning profiles found问题

在Xcode中当你在更新了你得证书而再重新编译你的程序,真机调试会出现“Your build settings specify a provisioning profile with the UUID‘XXX’, however, no such provisioning profile was found. Xcode can resolve this issue by downloading a new provisioning profile from the Member Center.”。
解决办法:

1.关闭项目,找到项目文件XXXX.xcodeproj,在文件上点击右键,选择“显示包内容”(Show Package Contents)。会新打开一个Finder。 
2.在新打开的Finder中找到project.pbxproj,并且打开,找到你所有包含报错的UUID‘XXX’的行,删除。 
3.保存,重新启动项目,再编译,就OK了。

No codesigning identities found问题

2016-12-01 15:32:20
这个是在同事的机器上发现的,不知道他做了一个怎么操作出现了一个Reset按钮,他就点了,然后就出现类似的问题:
Code Sign error: No codesigning identities found: No codesigning identities (i.e. certificate and private key pairs) that match the provisioning profile specified in your build settings (“iOS Team Provisioning Profile: *”) were found.

因为账号在我手里,我对证书和provision profile都没有做操作,相信这两项都是没有问题的,然而教他做了各种操作,包括检查证书私钥,重启Xcode等都没有解决问题。这之中我最大的疑惑是他点的这个Reset按钮到底做了什么事情,查了一下,根据这里,在Xcode的帐户setting中点Reset操作,结果是这样的: If you click the Reset button, Xcode revokes and re-creates the corresponding certificate.

但是我同事应该不是在帐户设置里点的Reset按钮,而是在Archive打包时点的Reset按钮。另外一个理由是账户里的证书过期日期不是一年后的今天,我感觉应该是没有创建。但是保险起见,我还是把自己电脑上的证书删掉,然后重新下载开发者账户上的证书并安装(先在钥匙串中删除之前的证书)。似乎并没有解决问题。接着对相关的provision profile点击edit按钮,并点击Generate按钮重新生成(没有删除过),然后下载双击安装(安装之前先在iPhone配置实用工具中删除了旧的)。。在Xcode中重新创建了一个Demo工程,用上面的证书和profile测试并无问题。

接着发给同事测试,仍然不行,待我在他的电脑上操作之后,发现他的Xcode开发者账户选项里有两个相同app id的profile文件,删除了一个旧的,重启Xcode,再操作就没有这样的问题了。

我的一个使用相同证书的工程在Archive打包时出现的却不是上述的错误,而是前面的"your account already has a valid iOS Distribution certificate问题",怀疑也主要是profile invalid的问题。后续再进行测试吧。

参考:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,056评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,842评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,938评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,296评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,292评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,413评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,824评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,493评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,686评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,502评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,553评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,281评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,820评论 3 305
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,873评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,109评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,699评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,257评论 2 341

推荐阅读更多精彩内容

  • 引言 关于开发证书配置(Certificates & Identifiers & Provisioning Pro...
    奋斗的蜗牛阅读 7,329评论 2 20
  • 引言关于开发证书配置(Certificates & Identifiers & Provisioning Prof...
    molake阅读 48,072评论 7 62
  • 转发自:http://www.cnblogs.com/CoderAlex/p/5033852.html 引言 关于...
    Remover阅读 21,517评论 6 33
  • 读书可以是一种使人心平气和的消遣。一杯茶,一本书,累了就闲庭信步,淡看云卷云舒。这是一个令人向往的场景,就像不少女...
    半瓶六绅阅读 297评论 0 0
  • 读过太多的故事,不再相信故事,却爱上了讲故事。 故事发生在我二十岁大二那一年,至今我还清楚的记得那天之前下了好大...
    别念阅读 177评论 1 0