Entitlements.plist 与 Appname.Entitlements

Posted

技术标签:

【中文标题】Entitlements.plist 与 Appname.Entitlements【英文标题】:Entitlements.plist versus Appname.Entitlements 【发布时间】:2012-08-17 13:18:53 【问题描述】:

我正在将 APNS(ios5、Xcode4)实施到应用程序中,但出现错误:

"The executable was signed with invalid entitlements."  

对 SO 和 google 的研究告诉我使用 Entitlements.plist 但我已经有了 Appname.Entitlements,密钥似乎几乎相同,除非我遗漏了某些内容,否则添加 Entitlements 文件会从新文件中消失模板。

那么这两者有什么区别呢?我需要添加一个 plist 名称“权利”吗?

还要验证:

-- 我的配置文件支持 APNS。 -- 我正在使用正确的分发配置文件。 -- 我将做一个企业发行版。

【问题讨论】:

【参考方案1】:

根据Technical Note TN2250,您应该删除授权文件。

如果您在 Target > Build Settings 中定义自定义代码签名权利文件,您可以尝试完全删除该配置并重新构建/重新提交。通常情况下,代码签名权利的定义是不必要的。如果您的应用程序使用自定义钥匙串访问共享或 iCloud,您只需指定自定义代码签名权利文件。否则,请从 Xcode 项目的 Target > Build Settings 上的所有构建配置中删除 Code Signing Entitlements 配置,重新构建并重新尝试提交/验证。

【讨论】:

这不是我要问的——但它最终帮助我解决了我的问题。我删除了 Appname.Entitlements,添加了一个 Entitlements.plist,一切都按预期工作。感谢您的帮助。

以上是关于Entitlements.plist 与 Appname.Entitlements的主要内容,如果未能解决你的问题,请参考以下文章

注册 Apple Push Notifications 和 Entitlements.plist

为啥要将 entitlements.plist 添加到我的项目中?

如何从 xcode 中的自定义权利设置中删除 Entitlements.plist

我是不是需要为我的目标设置一个 Entitlements.plist 文件才能使推送通知正常工作?

iOS4.3 Entitlements.plist for Ad Hoc Distribution

iOS: 删除真机测试的Provisioning Profile后,在Code Singing中出现entitlements.plist文件无效,解决办法如下: