iPhone 推送通知在沙盒中有效,但在生产模式下无效

标签 iphone apple-push-notifications production-environment

正如标题所示,我有一个内置 APNS 的应用程序。它在沙盒模式下工作得很好。但在生产模式下,它惨遭失败。

看来我在服务器上拥有正确的证书,因为我没有从 APNS 服务返回错误。一切似乎都运转良好。我正在使用 Aldo Armiento 的 ApnsPHP。它具有从 APNS 服务器输出结果的内置功能。当我尝试将沙箱与商店中的应用程序一起使用时,如预期的那样,我收到无效 token 错误(因为沙箱和生产中的 token 不同)。当我将生产证书与商店中的应用程序一起使用时,我没有收到错误。什么都没有,什么也没有——看起来它已经发出了通知。唉,它没有到达我的手机上。

显然,证书一定没问题。它连接到服务器,发送通知,所有通过都没有错误(我首先确实有错误的证书,所以我知道如果它们不正确会发生什么:)

有什么想法可以找出错误隐藏的位置吗?

[编辑]这是我从 APNS 服务返回的内容:

Tue, 03 Jan 2012 03:13:55 +0100 ApnsPHP[13049]: INFO: Trying ssl://gateway.push.apple.com:2195...
Tue, 03 Jan 2012 03:13:56 +0100 ApnsPHP[13049]: INFO: Connected to ssl://gateway.push.apple.com:2195.
Tue, 03 Jan 2012 03:13:56 +0100 ApnsPHP[13049]: INFO: Sending messages queue, run #1: 1 message(s) left in queue.
Tue, 03 Jan 2012 03:13:56 +0100 ApnsPHP[13049]: STATUS: Sending message ID 1 [custom identifier: Message-Badge-000] (1/3): 107 bytes.
Tue, 03 Jan 2012 03:13:56 +0100 ApnsPHP[13049]: INFO: Disconnected.

最佳答案

您可以在最后检查以下三种情况:-

  1. 确保您在服务器端使用了正确的生产证书。因为我们需要为生产和沙箱创建两个不同的证书。确保您在服务器上使用正确的证书。

  2. 其次,您可以检查是否在服务器端使用了正确的网关和端口号。由于生产网关和沙箱是不同的。用于生产的网关是:- gateway.push.apple.com。并且您在服务器上使用的证书密码也正确。

  3. 第三,您可以检查设备上的通知是否已启用。您还需要在 iPhone 上启用它。确保您的设备上有该软件。

请告诉我它是否适合您。

关于iPhone 推送通知在沙盒中有效,但在生产模式下无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8707150/

相关文章:

iphone - 在 iPhone 中改变方向时重新排列 UIButtons?

iphone - 有哪些 iPhone 推送通知服务? (托管服务,而不是 APNS)

objective-c - 生产环境不花钱内购测试

iphone - 从类中调用 View

iphone - xcode 中 uitextfield 的高度是多少(iphone)

iphone - 如何使用蓝牙测量两个iPhone设备之间的近距离?

ios - 无法连接到推送扩展服务

ios - 使用 GCM ios 9 时我应该在哪里处理推送通知

javascript - docker生产代码构建

javascript - 将 Ruby Red 编译为 javascript 的生产用法