我在iOS应用中面临一个奇怪的问题。当我的应用程序处于前台并且接收到Push时,它将显示在通知中心,并且同样会显示在警报中。
但是我没有在Appdelegate中的任何推送通知接收委托方法中写任何警告显示代码。
当应用程序位于前台时,如何避免此不需要的警报视图。 ??
答案 0 :(得分:2)
这是由于代表实施了
- (void)userNotificationCenter:(UNUserNotificationCenter *)center
willPresentNotification:(UNNotification *)notification
withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler {
completionHandler(UNNotificationPresentationOptionAlert); // SHOWS ALERT
}
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?