推送通知的代码签名权利无效(ITMS 90046)

时间:2015-01-29 17:33:19

标签: xcode

尝试通过Application Loader向我的iPhone应用程序提交更新时出错。自从我上次更新以来,我没有更改配置中的任何内容,所以我不确定它为什么现在抱怨。

我尝试在Xcode中刷新配置文件,并尝试在项目的构建设置中明确设置配置文件。当在Build Setting中明确设置Provisioning Profile然后进行存档时,Xcode会抱怨"没有匹配的代码签名身份"找到所选的配置文件。当我执行修复问题时,Xcode会将Build Settings中的Provisioning Profile重置为自动和代码签名身份给iPhone Developer。

我还试图进行干净的构建,Alt + Clean来清理构建文件夹,多次重启Xcode,并在Organizer中对派生数据进行删除>项目,但没有任何帮助。

"错误ITMS-90046:"无效的代码签名权利。您的应用程序包的签名包含iOS不支持的代码签名权利。具体而言,价值发展'关键' aps-environment' in' ...'不受支持。"

当我尝试在Xcode自动将代码签名身份重置为iPhone Developer后提交存档时,我收到以下错误。

我可以尝试撤销分发证书,但我不确定后果会是什么。在Apple的网站上,它说撤销证书并不影响商店中现有的应用程序,但我担心如果还有任何其他意想不到的影响,我还没有想到。

"无法找到或生成匹配的签名资产:Xcode尝试查找或生成匹配的签名资产,但由于以下问题而无法执行此操作 - 您的帐户已拥有有效的iOS分发证书。如果您在其他Mac上拥有签名身份,则可以导入开发人员配置文件。您也可以撤销当前证书并再次申请。"

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:11)

尝试执行产品 - >清理,然后确保配置文件和代码签名标识正确无误。

code signing details

答案 1 :(得分:0)

我发现了这个问题,因为我试图在开发过程中多次使用bundle id。它通过检查构建设置>产品包标识符来解决,并更正与包ID相同的名称。我认为xcode不会取代这个新的最新捆绑ID。我希望这有帮助

答案 2 :(得分:-1)

理想情况下,Xcode应该自动解决这个问题并覆盖默认的'开发'aps-enviroment,实际上它通常不起作用。

摆脱这场噩梦的最简单方法是复制你的权利文件,将其命名为Release.entitlements - 并使其为构建设置所知。

这为我解决了。