iOS开发-真机调试遇到“The executable was signed with invalid entitlements.

昨天遇到了一个让人绝望的问题。。。事情是这样的。。

昨天高高兴兴的完成了新的版本的开发,老大说有了新的Apple账号,需要用新的账号提交App Store,于是登上了新的AppleID,然后创建证书,创建ID,Apple Connect上创建应用,一气呵成,把证书下载下来配置一下,cmd+R,应用顺利的跑起来了,然后打包,上传TestFlight,也是非常顺利,也成功的发布到了TestFlight,然后测试那边报了一个bug给我,一看不是什么大问题么,改好之后用模拟器测试,OK没问题,想想再用真机调试一下吧,于是接上了测试机,cmd+R,然后去接杯水,等着回来看看真机上有没有什么问题,结果接完水回来。。。并不是期待的需要解锁的alert,而是。。。

final.png

The executable was signed with invalid entitlements.

Profile The entitlements specified in your application’s Code Signing Entitlements file are invalid, not permitted, or do not match those specified in your provisioning profile. (0xE8008016).

看来来好像是Provisioning Profile(pp)的问题,仔细检查了一下,好像没有什么问题么??不过这个问题看着好像不是什么大问题,结果耗费了我一天多的时间。。。所以准备写下来记录一下。

可能出现问题的原因

出现这个报错的原因一般来说是远程Provisioning Profile(以下简称PP)和本地的配置不同造成的问题,细看下来可能有这么几种可能:

  • 1.PP文件和Capability配置不匹配;

  • 2.PP文件和本地证书不匹配;

  • 3.跑应用时Debug和Release选择错误;

  • 4.PP文件中没有包含当前要运行设备的UUID;

  • 5.Xcode10中Build System问题(这个好像最新的Xcode已经修复了);

  • 6.项目中多个Targets的证书选择错误(我就是这个问题);

另外Apple官方也有针对Entitlements出错时的检查方案,地址在这里Entitlements Troubleshooting

解决方案

OK,大概了解了情况,那就一个一个来检查修改吧。

对了,先po一个查看Provisioning Profile信息的 shell:


/usr/bin/security cms -D -i profile_path/profileName.mobileprovision"

置空Code Signing Entitlements

这个是google和stackoverflow上能搜到比较多的答案,具体的操作为将如下步骤下打开的选项设置为空:

** Project -> Target ->* 项目名称 *-> Build Settings -> Code Signing Entitlements **

1.png

然而这个方法并没有对我有什么帮助。

清空xxx.entitlements文件

这个方法实际上和上一个方法的操作差不多,具体步骤为:

在项目目录下找到xxx(项目名).entitlements文件,并删除这个文件中的全部字段。

其实这个方法应该跟上一个方法差别不大,对我也并没有什么帮助。

重新开启Capabilities中的选项

这个方法其实是让Xcode自动来配置xxx.entitlements中的字段,具体步骤就是:

** Project -> Target ->* 项目名称 -> Capabilities -> 找到已经打开的配置,关闭再打开 **

结果同样令人悲伤,并没有什么作用。。。

重新配置Apple Developler中的PP文件并下载

这时候我有点崩溃了。。。我以为是之前创建开发证书的时候出了什么问题,因为可以正常上传到Apple Connect,所以发布证书应该没有什么问题,但是索性我还是把所有的证书和PP文件都revoke掉,然后重新生成了一遍,并且检查了App ID的配置,查看有没有和本地的Capabilities不匹配的字段。

当然,结果还是没有什么用处。

Debug和Release选择错误

google到有大佬说cmd+shift+<打开配置查看一下选中的Debug和Release是否正确,我不知道这个会不会照成影响,但是我觉得这个可能不会有什么用处,正常的配置应该就是如图:

2.png

然而没有什么办法,只能改改看了,最后发现还是不对。

info.plist中的id和target中不一致

这个问题是项目的info.plist文件中的Bundle identifier字段和

** Project -> Target -> 项目名称 -> Build Setting -> Packaging -> Product Bundle Identifier ** 中的ID字段不匹配照成的。

但是我的info.plist文件中的ID为$(PRODUCT_BUNDLE_IDENTIFIER),如果你的不是,建议你也要改成这样,避免以后不必要的麻烦。

检查所有的Targets下的证书

就是这个方法解决了我的问题,因为我本地管理的Apple ID有点多,而且之前google都是配置PP之类的回答,所以没有想到这个问题,昨天跟证书和PP混战了一天之后脑子也有点糊涂,今天早上来,仔细查看了编译日志,发现!咦!好像这个地方有问题,于是检查了Targets下的

  • XXX(项目名)

  • XXXTests

  • XXX-tvOS

  • XXX-tvOSTests

.

.

.

如果你还有其他Target请都检查一遍!发现其他的证书都是用的另外一个账号的证书。改了一下。。顿时预感要成功,cmd+R了一下,果然出现了久违的画面:

final.png

最后

这篇文章仅供个人学习使用,如果有什么不对的地方还请大佬们多多指教,另外如果你也遇到了这个问题,有这边没有提到的解决办法,请留言告诉我。谢谢。

参考文档

Entitlements file do not match those specified in your provisioning profile.(0xE8008016)

iOS开发 The executable was signed with invalid entitlements.

Xcode entitlement 问题定位和解决指南

Entitlements Troubleshooting

The entitlements specified in your application’s Code Signing Entitlements file are invalid, not permitted, or do not match those specified in your provisioning profile. (0xE8008016).

The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016).

The entitlements specified in your application’s Code Signing Entitlements file are invalid, not permitted, or do not match those specified in your provisioning profile. (0xE8008016).

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

推荐阅读更多精彩内容