"ERROR ITMS-90046: "Invalid Code Signing Entitlements.

今天提交新版本到AppStore,使用Application Loader,提交IPA文件的过程中出现

"ERROR ITMS-90046: "Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, value '*' for key 'com.apple.developer.associated-domains' in 'Payload/sihri.app/sihri' is not supported."

这样的错误。
![_5C399JIWQ]4TB3Q9D_W6KI.jpg](http://upload-images.jianshu.io/upload_images/908053-bc8be5ae97ae517f.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

在网上搜了一下,都说Provisioning Profile(后面都叫“pp文件”)处于Invalid状态,但是我去Dev Center中看了下,发现我的pp文件的状态都是enable,我于是就从新编辑了一下pp文件,然后download、install,并且在Xcode的account中,从下载了所有证书。


EB4DC56C-F566-4E9E-B343-1887F3E1A6ED.png

失败;还有好多说只要clean一下就行了,我想说的是我删除了Driver Data并且clean了N次,统统不行,甚至连重启电脑都用了,这种完全靠运气的做法,最终的结果就是“失败”。

在和度娘交流很久都还没有解决后,只能去谷歌找答案了。经过几番周折,终于在苹果开发者论坛中找到关于这个问题的帖子,并有人给出了比较合理的答案。

C4E65683-36BF-45E2-83DC-C680238AEB9A.png

按照这位兄台的做法,我在Dev Center中找到我的APPID,发现我的associated domains确实是enabled状态,果断进行编辑,改为disabled状态。
CD1CCFA4-0651-43D9-991C-BB913AE768E5.png

然后,你会发现自己的pp文件都变成了黄色的Invalid状态,这时候,不要害怕,只要在从新编辑一下,就能将其状态变成绿色的enable状态。这时候在从新download、install,然后去Xcode的account里面下载所有的文件,为了安全起见,我在打包前也clean了一下。黄天不负有心人,这次打的包终于可以上传成功了。在几十次的上传过程中,这是为数不多的一次曲折经历。
38D46DA0-301F-4696-BBB0-9A045E2B1731.jpg

也许在这里大家可能会有点疑惑,那就是我将associated domains设成disabled会不会对app有什么影响。这个问题在谷歌的这个帖子,有人给了这样的回复

96F4D308-B036-490D-9F5C-59660BE826D3.jpg

我在stackoverflow查到一个帖子也是说明这个问题,有兴趣的朋友可以看看。

你可能感兴趣的:("ERROR ITMS-90046: "Invalid Code Signing Entitlements.)