我的生产ios应用程序没有推送通知工作

时间:2017-07-17 19:47:25

标签: ios apple-push-notifications

我的生产应用程序一直从苹果那里得到这个错误。

"缺少推送通知权利 - 您的应用似乎注册了Apple推送通知服务,但应用签名的权利不包括" aps-environment"权利。如果您的应用使用Apple推送通知服务,请确保在配置门户中为推送通知启用了您的应用ID,并在使用包含" aps-environment"的分发配置文件签署您的应用后重新提交。权利。 Xcode 8不会在构建时自动从配置文件复制aps-environment权利。这种行为是故意的。要使用此权利,请在项目编辑器的“功能”窗格中启用“推送通知”,或者手动将权利添加到权利文件中。有关详细信息,请参阅https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/HandlingRemoteNotifications.html#//apple_ref/doc/uid/TP40008194-CH6-SW1。"

我不确定我的应用中发生了什么错误。当我使用生产应用程序时,该应用程序不发送推送通知,但在开发应用程序中工作。我的配置文件已启用推送,我在Xcode中添加了它,我在keychain访问中创建了一个.p12文件。我错过了什么从上面的教程我无法弄清楚我没有采取什么步骤。请告诉我。 谢谢

1 个答案:

答案 0 :(得分:2)

首先,让我告诉你错误说的是什么。

  

如果您的应用使用Apple推送通知服务,请确保您的应用   在Provisioning Portal中为推送通知启用了App ID,   使用分发配置对应用程序进行签名后重新提交   包含" aps-environment"权利。

当您要使用推送通知时,您应该拥有 appID ,其中推送通知功能已启用。在开发门户中,您可以检查它是否已启用。当您单击正在使用的应用程序ID时,它将清楚地显示启用的功能。它应该适用于分段和生产环境。如果您为开发环境启用了功能而没有为生产启用它,那么它将不起作用。因此,请确保您使用的应用ID已针对这两种环境启用了推送通知。

现在再次阅读错误说明。因此,根据错误,它说它未启用应用ID。如果您首先创建分发配置文件,如果您启用了应用程序ID功能,则它将不起作用。因此,如果您更新应用程序ID中的功能,现在再次创建选择了应用程序ID的分发证书。这是错误的原因。

即使推送通知不适用于生产环境,也会有很多原因。在创建推送通知证书时,您还需要为生产环境创建推送通知。开发APNS和生产APNS是两个不同的。因此,请确保仅在启动远程通知时使用生产推送证书。