15

我在这里阅读了很多帖子,并且整天都在阅读 Apple 文档。这里的所有帖子都没有答案,文档在这个问题上也不清楚。

我们有一个应用程序在使用开发配置文件时接收推送通知,但在我们使用企业分发配置文件时却没有。

为沙盒中的推送通知启用了应用 ID。

证书和两个配置文件都与应用程序 ID 相关联。

如果我构建表单 Xcode 推送通知就可以了。如果我存档并分发服务器返回:

[Failed to push 6dje7djksis7hyhdjshsjksjd74jdjskshdjd8dhjjdkwu for reason 8]

这是无效的令牌。

我注意到的一件事是我们的开发配置文件对 aps-environment 具有以下内容:

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

虽然 Enterprise 分发配置文件具有:

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

当我对我的手机运行调试版本(推送工作)时,.app 文件的权利是:

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

当我归档它们时(无论我使用什么配置文件或方案):

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

谁能告诉我这是否是预期的?我在这个网站上找到的其他问题都没有真正说明 Dev 可以工作但 Enterprise Distribution 不能工作的原因。

为什么归档总是使 aps-environment 生产?

谢谢你的时间。

更新 这很有趣。

从:

http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ProvisioningDevelopment/ProvisioningDevelopment.html

“您必须为沙盒(开发)环境和生产环境获得单独的证书。证书与作为推送通知接收者的应用程序的标识符相关联;此标识符包括应用程序的捆绑 ID。当您创建配置文件时对于其中一种环境,必要的权利会自动添加到配置文件中,包括特定于推送通知的权利。这两个配置文件称为开发和分发。分发配置文件是将您的应用程序提交到 App Store 的要求。”

这可能意味着您不使用分发配置文件,除非您要进行生产。真的吗?这看起来很奇怪,因为您可以在进入应用商店之前制作企业分发配置文件。

有人对此有想法吗?我在文档中找不到任何关于此的具体信息。

谢谢

4

3 回答 3

15

您的应用程序有 2 个推送证书。1个用于开发,1个用于生产。查看供应门户的推送证书部分。

因此,无论您使用什么推送机制来发送推送,都需要使用正确的证书进行配置。在您的情况下,企业版本将使用生产/分发证书接收推送。

于 2013-04-06T20:03:28.367 回答
2

AppID 的开发和生产版本都需要在 Apple 的“配置文件”网站上启用推送通知。

于 2013-04-06T13:52:44.150 回答
2
  1. 使用生产证书。
  2. 使用生产 APN 主机:gateway.push.apple.com而不是开发 APN:gateway.sandbox.push.apple.com
  3. 使用生产 APN 反馈主机:feedback.push.apple.com

更多信息请点击这里

于 2016-07-07T08:50:20.763 回答