提交二进制文件进行beta测试:“缺少推送通知权限”

时间:2015-07-09 06:42:41

标签: ios apple-push-notifications provisioning-profile entitlements

我目前正在使用Xcode 6.4。在我的Member Center站点中,我有针对某个应用程序ID的开发和生产APNS证书,并且此类应用程序ID显示为两个环境都启用了推送通知。我还创建了一些配置文件:一个用于在其启用的服务中使用该App ID关联和推送通知进行开发,另一个用于相同App ID的Ad Hoc分发以及启用推送通知的服务。

我可以在Xcode中看到两个配置文件>偏好>帐户>我帐户中的配置配置文件的详细信息列表,但根据显示的权利图标,推送通知权利似乎没有出现在那里。

此外,当我存档应用程序并想要导出进行ad Hoc部署时,Xcode不允许我选择某个配置文件来签署该应用程序,即使我已将其设置为目标的Build Settings>代码签名>供应资料。该对话框中的应用程序还列出了已归档应用程序的4个权利,但没有一个是“aps”。

无论如何,我使用Xcode设置的配置导出了应用程序,并且不允许我更改(XC Ad Hoc:*)并将其发送到iTunes Connect。然后我收到一封电子邮件说:

  

缺少推送通知权利 - 您的应用似乎包含用于向Apple推送通知服务注册的API,但应用签名的权利不包括“aps-environment”权利。如果您的应用使用Apple推送通知服务,请确保在配置门户中为推送通知启用了您的应用ID,并在使用包含“aps-environment”权利的配置配置文件对您的应用进行签名后重新提交。

可能会发生什么?在我的Member Center我已启用推送通知的应用ID,我有相应的证书和配置文件。我两次刷新配置文件但没有结果。我能做些什么?我真的需要帮助解决这个问题。

提前致谢

编辑:如果我在文本编辑器中打开配置文件,它实际上包含以下行:

<key>aps-environment</key>
<string>production</string>

那么为什么Xcode&gt;中列出了此权利?偏好&gt;配置的帐户图标?

编辑2:我应该将Entitlements.plist文件添加到我的项目中吗?我在哪里可以找到有关它的文件?

1 个答案:

答案 0 :(得分:0)

我花了最近两周处理同样的问题。最后让它运作起来。问题可能是 Xcode 6.4 中的错误。 Xcode正在使用不同的配置文件来签署应用程序(通配符'XC:*'),即使我正在“构建设置”中正确选择我的配置文件,但它恰好没有'aps-environment'权利。因此,要解决此问题,我必须通过 Shenzhen 构建和分发。

希望这对你也有帮助。