【发布时间】:2015-07-09 06:42:40
【问题描述】:
我目前正在使用Xcode 6.4。在我的Member Center 站点中,我拥有某个 App ID 的开发和生产 APNS 证书,并且此类 App ID 显示为两个环境都启用了推送通知。我还创建了几个配置文件:一个用于开发与该 App ID 相关联并在其启用的服务中推送通知,另一个用于临时分发相同的 App ID 以及启用推送通知的服务。
我可以在我的帐户中的 Xcode > 首选项 > 帐户 > 配置文件的详细信息列表中看到两个配置文件,但根据显示的权利图标,推送通知权利似乎没有出现在那里。
此外,当我归档应用程序并希望导出以进行临时部署时,Xcode 不允许我选择某个配置文件来签署应用程序,即使我已经在目标的构建设置 > 代码签名 > 配置中设置了它轮廓。该对话框中的应用还列出了已归档应用的 4 个权利,但没有一个是“aps”。
无论如何,我使用 Xcode 设置且不允许我更改的配置(XC Ad Hoc:*)导出了应用程序并将其发送到 iTunes Connect。然后我收到一封邮件说:
缺少推送通知权利 - 您的应用似乎包含用于注册 Apple 推送通知服务的 API,但应用签名的权利不包括“aps-environment”权利。如果您的应用使用 Apple 推送通知服务,请确保您的 App ID 在配置门户中启用推送通知,并在使用包含“aps-environment”权利的分发配置文件签署您的应用后重新提交。
会发生什么?在我的Member Center 中,我为推送通知启用了 App ID,并且我有相应的证书和配置文件。我刷新了配置文件两次,但没有结果。我会错过什么?我真的需要帮助解决这个问题。
提前致谢
编辑:如果我在文本编辑器中打开配置文件,它实际上包含以下行:
<key>aps-environment</key>
<string>production</string>
那么为什么在 Xcode > Preferences > Accounts 供应的图标中列出了这个权利?
编辑 2: 我应该在我的项目中添加一个 Entitlements.plist 文件吗?我在哪里可以找到与此相关的文档?
【问题讨论】:
-
仔细检查所有内容。我敢打赌,这很简单,因此很容易错过,因为你不会想到它。
-
@puzzler 我应该遵循“本地和远程通知编程指南”、“应用分发指南”还是其他?
-
这是我为了解配置而阅读的内容:roathe.wordpress.com/2011/04/05/… 这不是专门针对推送的,但由于它们是自动生成的,所以我对它们没有任何问题。 xcode 6 中的权利是从项目设置中管理的,所以我认为没有必要。
标签: ios apple-push-notifications provisioning-profile entitlements