Ios 在前台的特定视图控制器中禁用推送通知?
我正在应用程序中实现聊天功能。现在每次推送,我都会在使用应用程序时使用此按钮显示通知:Ios 在前台的特定视图控制器中禁用推送通知?,ios,swift,apple-push-notifications,Ios,Swift,Apple Push Notifications,我正在应用程序中实现聊天功能。现在每次推送,我都会在使用应用程序时使用此按钮显示通知: func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
completionHandler([.alert, .badge, .sound])
}
我想知道,在维护特定视图控制器的蜂鸣器的同时,是否可以禁用顶部显示的推送通知
如果是,我应该做什么来创建它?像这样实现它:
UNUserNotificationCenter.current().delegate = self
...
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
if wantToShow {
completionHandler([.alert, .sound])
} else {
completionHandler([])
}
}
然后根据当前状态更改
wantToShow
。如果我使用completionHandler([]),则不会调用didReceiveEmotentification
函数。您找到解决方案了吗?Shu khan回答对我有效