每个推送通知横幅在 iOS9 上显示两次 [重复]
Posted
技术标签:
【中文标题】每个推送通知横幅在 iOS9 上显示两次 [重复]【英文标题】:Every Push Notification Banner is shown twice on iOS9 [duplicate] 【发布时间】:2015-12-11 11:59:41 【问题描述】:几个小时后,我们的 ios 应用程序出现了一个奇怪的问题:iOS 主屏幕上收到的每个推送通知都会触发/显示相同的通知横幅两次,它们之间有 2 秒的延迟。
它只发生在装有 iOS 9.x 的设备上。在 iOS 8.x 设备上,一切仍按预期工作。 如果我在 -[AppDelegate application:didReceiveRemoteNotification:fetchCompletionHandler:] 中设置断点,则每次推送通知只会调用一次。此外,我们最近在后端没有任何变化(至少是一个弱点),并且已经发布的客户端也发生了这种情况,我们 100% 确定我们之前没有看到这个问题。
然而,我们确实更改了当前开发应用程序的 Xcode 中的功能,并且必须生成新的配置文件作为标记为“无效”的旧配置文件。
所以对我们来说,这似乎是苹果方面的一个问题。有什么建议可以尝试/检查或做什么?
【问题讨论】:
【参考方案1】:我的问题似乎与this dude 完全相同:我两次致电[registerUserNotificationSettings:]
。
请注意,如果您调用该方法一次或两次,可能并不像您想象的那么明显:
我在特定的 UIViewController 中故意调用了一次。不幸的是,我每次都在didFinishLauchingWithOptions:
中调用它。 不要因为只看到一次对话框而被愚弄。
如果您想确保在 -[AppDelegate application:didRegisterUserNotificationSettings:]
中添加日志记录输出。在我的情况下,当我在权限对话框中点击 OK 后,回调被调用了两次。
自从我删除了didFinishLauchingWithOptions:
中的错误呼叫后,我再也没有看到双重通知。
【讨论】:
【参考方案2】:我向 Apple 提交了错误报告(Ticket# 23569779),该问题似乎已在 iOS 9.2.1 测试版(内部版本:13D11)中得到纠正
我在 iOS9.1(内部版本:13B143)和 iOS9.2(内部版本:13c75)上遇到了跨多个应用程序的本地和远程通知的相同问题。
我重新创建问题的最简单方法是在应用程序后台运行时在我的应用程序委托中安排本地通知。
- (void)applicationDidEnterBackground:(UIApplication *)application
UILocalNotification *notification = [[UILocalNotification alloc] init];
notification.repeatInterval = NSDayCalendarUnit;
[notification setAlertBody:@"My test."];
[notification setFireDate:[NSDate dateWithTimeIntervalSinceNow:1]];
[notification setTimeZone:[NSTimeZone defaultTimeZone]];
[application setScheduledLocalNotifications:[NSArray arrayWithObject:notification]];
这将导致通知横幅出现两次:
Duplicate banner images
【讨论】:
您的错误报告票被关闭和/或评论了吗?如果您可以将票提交给OpenRadar,那将非常有用!我遇到了同样的问题,希望得到官方的评论,说它已得到修复。 错误报告已关闭,该问题已在 iOS 9.2.1 beta (Build: 13D11) 中得到修复。 我在 iOS 9.3.5 中遇到了这个问题,有人有相同的更新吗?以上是关于每个推送通知横幅在 iOS9 上显示两次 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
UILocalNotification 不会在 ios9 设备上触发(横幅未显示)