【问题标题】:IOS Push Notifications for multiple Apps from one server来自一台服务器的多个应用程序的 IOS 推送通知
【发布时间】:2013-08-23 18:20:19
【问题描述】:

我们为推送通知设置了 2 个应用程序。 (甲和乙)

每个(当然)都有不同的配置文件,我们为每个生成了单独的证书。 应用 A 接收推送通知正常,应用 B 没有。

两者都在与同一台服务器通信 - 它确实会确定将通知发送到哪个应用程序并使用正确的证书。

我注意到,如果您在一台设备上安装这两个应用程序,它们都会获得相同的令牌(我们的服务器会跟踪每个应用程序。)。在这种情况下,当服务器发送一个 msg 时,它会向同一个 Token 发送两次 - 每个证书一次。应用 A 将收到消息,应用 B 不会。

将消息发送到两个应用程序时,Apple 服务器会响应所有消息都已正确发送且没有错误。但是消息永远不会出现在一个应用程序中。

关于去哪里看有什么建议吗?

【问题讨论】:

  • 如果你先发送B通知,B应用会收到而A应用不会?
  • XCode 肯定为每个应用程序设置了不同的配置文件,并且这两个应用程序当前都在商店中并且正在工作 - 除了推送通知。令牌绝对是相同的。
  • 只有 App B 的设备设置永远不会收到消息。服务器已经在 App A 之前发送给 App B。
  • @CasaDelGato 根据您的描述,问题出在 App B 的证书上,或者出在 App B 的配置文件上(当您第一次启动 App B 时,您是否会询问是否允许推送通知?)
  • @Eran - 想想看,我认为任何一个应用程序都没有问过我是否要允许推送通知。我已经多次从设备中删除它们。嗯,但就我而言,我总是通过直接从 Xcode 构建来“安装”。

标签: ios push-notification apple-push-notifications


【解决方案1】:

经过大量搜索和查找,我发现了这个问题:Iphone - Multiple Apps, Different App ID, Same Token

它指出您必须为每个应用程序使用不同的 .certSigningRequest。我与我们的 AppStore 人员核实过,他对两个证书都使用了同一个。他解决了这个问题,现在它可以工作了!

【讨论】:

  • 是的,您需要将私钥处理为 p12 文件以准备 pem 文件,并且此私钥是在创建 .certSigningRequest 文件时在钥匙串应用程序中生成的。因此,此 CSR 可以在到期时重复用于同一应用程序,但任何其他应用程序都需要单独使用。是时候接受你的回答了。
猜你喜欢
  • 2015-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-15
  • 1970-01-01
  • 2013-05-26
  • 2014-04-23
  • 1970-01-01
相关资源
最近更新 更多