iOS:以编程方式关闭锁屏上显示的通知?

iOS:以编程方式关闭锁屏上显示的通知?,ios,objective-c,uilocalnotification,unusernotificationcenter,Ios,Objective C,Uilocalnotification,Unusernotificationcenter,想象一下:用户在锁屏上看到一个通知,例如“您的服务器在线”。然后发生一些变化,例如服务器脱机。即使在锁屏上显示该通知后,我是否可以通过编程方式从后台删除该通知(取消该通知)?是的,您实际上可以这样做,您通常会在messenger应用程序或社交网络应用程序中看到该通知,例如,在某些具有web版本的messenger应用程序中,如果您收到一条消息并从网络上阅读,但您已经在iOS应用程序上收到推送,则发生这种情况时,您必须发送另一条不带显示消息的推送,但带有值的标记,指示您想要的内容: - (void

想象一下:用户在锁屏上看到一个通知,例如“您的服务器在线”。然后发生一些变化,例如服务器脱机。即使在锁屏上显示该通知后,我是否可以通过编程方式从后台删除该通知(取消该通知)?

是的,您实际上可以这样做,您通常会在messenger应用程序或社交网络应用程序中看到该通知,例如,在某些具有web版本的messenger应用程序中,如果您收到一条消息并从网络上阅读,但您已经在iOS应用程序上收到推送,则发生这种情况时,您必须发送另一条不带显示消息的推送,但带有值的标记,指示您想要的内容:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {

  if([[userInfo objectForKey:@"reset"] boolValue]){
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0];
  }

}
这是一个很好的例子