일부 푸시 알림이 전송되는 iOS 애플리케이션이 있습니다. 내 문제는 메시지 / 알림이 iOS의 알림 센터에 남아 있다는 것입니다. 다음에 애플리케이션이 열릴 때 알림 센터에서 애플리케이션에 대한 알림을 제거하려면 어떻게해야합니까?
사람들이 setApplicationIconBadgeNumber
알림을 지우기 위해 0 값으로 전화 하는 게시물을 보았습니다. 그것은 나에게 매우 이상해 보이므로 다른 해결책이 존재할 수 있다고 생각합니까?
EDIT1 :
알림을 지우는 데 문제가 있습니다. 여기에서 내 코드를 참조하십시오.
- (void) clearNotifications {
[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0];
[[UIApplication sharedApplication] cancelAllLocalNotifications];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if (launchOptions != nil)
{
NSDictionary* dictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if (dictionary != nil)
{
NSLog(@"Launched from push notification: %@", dictionary);
[self clearNotifications];
}
}
return YES;
}
- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo
{
NSLog(@"Received notification: %@", userInfo);
[self clearNotifications];
}
Xcode를 통해 앱을 실행하고 있습니다. 앱이 최소화되고 알림 센터의 알림을 사용하여 앱을 시작하면 로그 didReceiveRemoteNotification
에서이 호출되고 중단 점을 사용하여 clearNotifications
실행 되었음을 확인할 수 있습니다 . 그러나 여전히 알림은 알림 센터에서 멈 춥니 다. 왜?
let center = UNUserNotificationCenter.current() center.removeAllDeliveredNotifications() // To remove all delivered notifications
stackoverflow.com/a/40397907/1155650