gpt4 book ai didi

iphone - iOS 上的重复推送通知

转载 作者:可可西里 更新时间:2023-11-01 03:10:16 24 4
gpt4 key购买 nike

这题大概和Duplicate Apple APNS push notifications?一样, 但由于那个人没有得到答案,我有更多信息,我会尝试再问一次。

重现问题的步骤:

  • 将通知中心设置为将通知显示为警报,这将使问题更加明显。
  • 确保该应用未在前台运行。
  • 快速连续发送 3 个相同的推送通知。
  • 等到消息到达手机,您现在必须关闭警报 3 次。
  • 现在再发送 1 条通知,与之前的不同。
  • 您现在会收到最后一条通知,但您还会收到之前的一条通知再次出现。这就是问题所在。
  • 如果您继续发送单个通知,前 3 个通知中的一个会在不应该弹出的时候继续弹出。

这是一个遵循这些步骤的视频,它清楚地显示了问题:

http://youtu.be/TSqt8S4FY6w

正如 Remy Gale 在上面的链接问题中所做的那样,我们确保我们的通知以正确的方式发送,并且每个通知只发送一次。我们还使用 sandbox-apns 和 production-apns 对此进行了测试,两者的行为完全相同。

如果将 app-badge 设置为 0,问题就会消失,这反过来会从通知中心删除所有通知。手动删除通知没有帮助。

UIApplication *app = [UIApplication sharedApplication];
app.applicationIconBadgeNumber = 0;

但这不是解决方案。

如果所有通知都包含唯一文本,则不会出现此问题。将 GUID 添加到警报文本将使问题消失。然而,将其作为自定义属性或本地化参数添加到 apns-payload 中无济于事,因此这也不是解决方案。

这在使用实时应用程序的生产环境中可能很少发生,但它可能会发生,而且当它发生时,对用户来说真的很烦人!

有人知道为什么会这样吗?有没有人有可行的解决方案?

最佳答案

Google Group对于 Gmail 有一个来自用户的条目,该用户对该错误进行了一些研究,并包含一个可能的解决方法。根据条目,该错误在 iOS 5 中不存在,但在 iOS 6 中引入。

解决方法是简单地附加一个随机数 Zero-width non-joiner以确保唯一性。

关于iphone - iOS 上的重复推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18074529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com