【问题标题】:Invalid Code Signing Entitlements for push notification (ITMS 90046)推送通知的代码签名权利无效 (ITMS 90046)
【发布时间】:2015-03-29 01:11:53
【问题描述】:

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

我尝试在 Xcode 中刷新我的配置文件,并尝试在项目的构建设置中明确设置配置文件。当在 Build Setting 中显式设置 Provisioning Profile 然后执行 Archive 时,Xcode 抱怨“没有找到所选配置文件的匹配代码签名身份”。当我修复问题时,Xcode 将 Build Settings 中的 Provisioning Profile 重置为 Automatic 并将 Code Signing Identity 重置为 iPhone Developer。

我也尝试过清理构建,Alt + Clean 清理构建文件夹,多次重新启动 Xcode,并在 Organizer > Projects 中删除派生数据,但没有任何帮助。

“错误 ITMS-90046:”无效的代码签名权利。您的应用程序包的签名包含 iOS 不支持的代码签名权利。具体来说,不支持 '...' 中的关键 'aps-environment' 的值 'development'。”

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

我可以尝试吊销分发证书,但我不确定会产生什么后果。在 Apple 的网站上,它说吊销证书不会影响商店中的现有应用程序,但我担心是否还有其他我没有考虑过的意外影响。

“未能找到或生成匹配的签名资产:Xcode 试图定位或生成匹配的签名资产但由于以下问题而失败 - 您的帐户已经有一个有效的 iOS 分发证书。如果您有您的签名身份在另一台 Mac 上,您可以导入开发人员配置文件。您还可以撤销当前证书并重新申请。”

任何帮助将不胜感激。

【问题讨论】:

标签: xcode


【解决方案1】:

尝试执行产品->清洁,然后确保供应配置文件和代码签名身份正确。

【讨论】:

    【解决方案2】:

    虽然理想情况下 Xcode 应该自动解决这个问题并覆盖默认的“开发”aps 环境,但实际上它通常不起作用。

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

    这为我解决了问题。

    【讨论】:

      【解决方案3】:

      我发现这个问题是因为我在开发过程中多次尝试更改 bundle id。通过检查构建设置>产品捆绑标识符并更正与捆绑ID相同的名称来解决。我认为 xcode 不会替换这个新的最新捆绑 ID。我希望这会有所帮助

      【讨论】:

        猜你喜欢
        • 2021-08-16
        • 2015-03-22
        • 2017-04-14
        • 2016-04-23
        • 2019-11-09
        • 1970-01-01
        • 1970-01-01
        • 2019-02-27
        • 2020-03-06
        相关资源
        最近更新 更多