即使没有写入警报代码,在前台进行推送通知时,iOS 10中会发出警报

时间:2017-10-24 15:36:10

标签: ios objective-c apple-push-notifications

我在iOS应用中面临一个奇怪的问题。当我的应用程序处于前台并且接收到Push时,它将显示在通知中心,并且同样会显示在警报中。

但是我没有在Appdelegate中的任何推送通知接收委托方法中写任何警告显示代码。

当应用程序位于前台时,如何避免此不需要的警报视图。 ??

1 个答案:

答案 0 :(得分:2)

这是由于代表实施了

目标C

- (void)userNotificationCenter:(UNUserNotificationCenter *)center 
                   willPresentNotification:(UNNotification *)notification 
                     withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler {

             completionHandler(UNNotificationPresentationOptionAlert); // SHOWS ALERT
}

Swift 3

func userNotificationCenter(_ center: UNUserNotificationCenter,
                                willPresent notification: UNNotification,
                                withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
    completionHandler(.alert)
}

在iOS 10中,您还可以在前台显示通知。 您可以通过仅在completionHandler或comment completionHandler

中添加徽章来进行检查

参考Displaying a stock iOS notification banner when your app is open and in the foreground?