ios - Apple 推送通知服务 SSL(沙盒和生产)-我做错了什么?

标签 ios apple-push-notifications sandbox production

我正在开发一个适用于 IOS 8、9 和 10 的应用程序,它应该接收推送通知。

推送通知的证书是使用选项“Apple Push Notification service SSL (Sandbox & Production)”创建的,但不幸的是,当我尝试从 Sandbox 环境接收推送通知时,我收到了通知。

特别是,我所做的就是这个。

  1. 使用“Apple 推送通知服务 SSL(沙盒和生产)”的以下选项生成推送证书
  2. 启动 XCode
  3. 我将设备 (iPod IOS 9.3.5) 连接到 Macbook Pro。
  4. 启动项目d XCode。
  5. NSLog("tokenString: (tokenString)")
  6. 设备 token 已成功注册。
  7. 从 Java 类发送通知,但不幸的是,我没有收到推送通知

相反,如果生成 ipa (XC Ad Hoc),然后我通过 iTunes 安装所有内容,设备 token 已成功注册,当我从具有相同证书的同一 Java 类发送推送通知时,推送我收到通知。 我做错了什么?

最佳答案

临时 ipa 构建是生产构建,如果推送成功发送到该构建,则意味着您的“Java 类(原文如此)”正在使用生产环境中的生产证书发送推送。

当您通过 Xcode 构建并运行应用程序时,应用程序正在开发模式下构建,因此您需要切换“Java 类”以使用开发证书并通过开发环境发送推送。开发环境的url是gateway.sandbox.push.apple.com

附言 可以更改 Xcode 构建方案以生成生产构建而不是调试构建,但您希望能够调试应用程序,不是吗?

关于ios - Apple 推送通知服务 SSL(沙盒和生产)-我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39580551/

相关文章:

c# - SslStream.AuthenticateAsClient 异常(消息格式错误)

javascript - 如何根据复选框输入更改 iframe 属性?

javascript - 如何限制沙盒 iframe 可以连接的域?

ios - 如何将我的 ios 应用程序语言设置为阿拉伯语?

iphone - 如何在 iPhone 中添加左右对齐(两者)的单元格详细信息文本?

ios - 如何使放置在 UIView 框架之外的 UIView 的 SubView 具有交互性?

ios - 将 IP 地址转换为二进制 (UInt32)

ios - 如何保护应用程序 - 后端通信?

iOS 无法在 Cordova 项目上接收来自 FCM 的推送通知 (2018)

paypal - NVP API 不适用于 Sandbox paypal 环境