2012-02-12 4 views
0

일부 텍스트를 iPhone 앱으로 푸시합니다. 일단 메시지가 받아 들여지고 응용 프로그램에서 처리되면 알림 영역에 여전히 메시지가 표시되고 다시 동의하면 메시지가 응용 프로그램에 복제됩니다.사용자가 승인하면 푸시 알림을 제거합니다.

어떻게 피할 수 있습니까? 푸시가 승인되면 알림 영역에서 제거 할 수 있습니다.

- (void)application:(UIApplication *)application 
     didReceiveRemoteNotification:(NSDictionary *)userInfo 

이 실행되면 즉

은 내가 알림 영역에서 알림을 제거 할.

+0

로컬 또는 원격 통지입니까? – samfisher

+0

원격 알림 – shebelaw

+0

이 답변보기 : http://stackoverflow.com/a/7821985/428442. 그 트릭은 앱 배지 값이 변경되어야한다는 것입니다. 따라서 1로 설정 한 다음 0으로 설정하면 알림 센터에서 알림이 제거됩니다. –

답변

7

배지 값을 1 또는 일부 값으로 설정 한 다음 다시 0으로 설정합니다. 다음과 같이 :

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1]; 
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 
    [[UIApplication sharedApplication] cancelAllLocalNotifications]; 
+0

나를 위해 작동하지 않는 것 같습니다. 다른 해결책이 있습니까? – NadavN7

+0

원격 알림을 위해 실제로 작동합니까? –

+0

@shebelaw 위 코드는 알림 센터에서 모든 알림을 제거하는 데 도움이됩니다. 그러나 알림 센터에서 선택한 단일 통지를 제거 할 수있는 방법이 있습니까? –

1

시도해주세요.

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 
[[UIApplication sharedApplication] cancelAllLocalNotifications]; 
+0

이것이 작동하지 않습니다. – shebelaw

+0

'- (void) application : (UIApplication *) 응용 프로그램 didReceiveRemoteNotification : (NSDictionary *) userInfo'가 완료되기 직전에 이것을 설정합니다. – shebelaw

관련 문제