iOS Push Notification Banner一次显示两次

我注意到发送推送通知会导致以下行为:

Push Banner is shown twice?

看到广告在短暂的延迟后又如何显示?

起初我以为我们的后端错误地发送了2个推送通知,一个接一个。

但是,这似乎是单个Push通知的默认iOS行为。 显示横幅,然后立即“再次显示”。 这会导致显示在gif中的抖动UI。 标语似乎收到了两次。

使用iOS 9.0.2测试。

我不记得在向我发送推送通知的其他应用程序中看到过这种行为。 我做错了什么会导致横幅显示两次吗?

雷达:

工程确定您的错误报告(23133694)与另一个问题(23130766)是重复的,将被关闭。

8个解决方案
32 votes

我遇到了同样的问题,但是经过无数小时的尝试调试之后,我意识到我在didFinishLaunchingWithOptions:中两次致电registerUserNotificationSettings(settings)。请确认您没有做同样的事情

RukyO answered 2020-08-12T00:22:12Z
3 votes

您确定所有设置都正确吗?
如果您将提供更多代码,将更容易发现该错误。 绝对不是iOS错误。


服务器通知出现问题时要检查的基本事项:

1.检查您的配置文件并清理所有未使用的证书。
2.确保服务器配置正确。 同样,需要更多细节才能获得完整答案。

如果您是离线进行的,那么通常您会错过代码中的某些内容,或者您的隐蔽帖子处理程序被调用两次。

Bagrat Kirakosian answered 2020-08-12T00:22:55Z
3 votes

对于我们在ios 9.3.3和ios 9.2版本中使用的两个设备,都遇到了此问题。 但是对于运行ios 8.2的设备和运行iOS 10的设备(在10.3上测试)来说,不会出现此问题。

每次全新安装的版本为9.3.3和9.2的设备均出现问题。 但是重启设备似乎可以解决问题。 尽管这不是解决方案,但我们可以向客户提出建议。

发生这种情况时,在系统的控制台日志上,我们收到“不平衡的调用,开始/结束SBBannerButtonViewController的外观转换”消息。

对于某些具有9.x版本的设备,这似乎是一个问题,并且对于运行iOS 10.0及更高版本的设备应该可以正常工作。

Swasidhant answered 2020-08-12T00:23:29Z
2 votes

您是否正在使用数据库存储设备ID?

如果是,则可能是两次存储设备ID。如果可能,请清除db并尝试再次发送

Nasir Munda answered 2020-08-12T00:23:54Z
2 votes

我认为这里接受了错误的答案(如果这是关于从Parse迁移到OneSignal)。 因为对于OneSignal,似乎没有任何适当的解决方案。 我也正在寻找解决方案(如果有人)。 唯一的解决方法是重新启动手机。

但它很奇怪。 我们不能要求所有用户重新启动设备。

Bhumi Goklani answered 2020-08-12T00:24:20Z
1 votes

我们在IOS 9.3.1上遇到了同样的问题

我们使用城市飞艇来管理通知,这就是我们的设置

let config = UAConfig.default()

UAirship.setLogging(false)
UAirship.takeOff(config)
UAirship.push().userPushNotificationsEnabled = true
UAirship.push().notificationOptions = [.alert, .badge, .sound]
UAirship.push().backgroundPushNotificationsEnabled = false
UAirship.push().pushNotificationDelegate = self

经过多次尝试,我们仅删除了以下行即可!

UAirship.push().notificationOptions = [.alert, .badge, .sound]

希望对您有所帮助。

Melvin John answered 2020-08-12T00:24:54Z
1 votes

我知道这个答案比原始帖子晚了几年,但是万一这对任何人都有帮助...

就我而言,我正在使用CloudKit通知,并且意外创建了两个跟踪相同记录类型的订阅!

mlecoz answered 2020-08-12T00:25:19Z
0 votes

根据对类似问题的回答,此问题报告为[rdar:// 23569779],应在iOS 9.3公共发行版中修复。

如果您在iOS 9.3+中重现此问题,请发表评论

据说固定在:

iOS 9.2.1 beta(内部版本:13D11)

pkamb answered 2020-08-12T00:25:52Z
translate from https://stackoverflow.com:/questions/33047914/ios-push-notification-banner-shown-twice-for-a-single-push