2015-11-24 2 views
5

Ich erhalte die doppelte Benachrichtigung. sowohl für die Remote-Benachrichtigung als auch für die lokale Benachrichtigung.zeigt meine App zweite Zeit Benachrichtigung iOS 9

Ich habe den folgenden Code

[application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]]; 

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0){ 
    [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]]; 
    [[UIApplication sharedApplication] registerForRemoteNotifications]; 
} 
else{ 
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes: 
    (UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert)]; 
} 

-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{ 
NSString *strDevicetoken = [[NSString alloc]initWithFormat:@"%@",[[[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]] stringByReplacingOccurrencesOfString:@" " withString:@""]]; 
NSLog(@"devicetoken = %@",strDevicetoken);} 

Ich erhalte doppelte Push-Benachrichtigungen die ganze Zeit verwendet.

+0

Sind Duplikate sowohl remote oder beide lokale Benachrichtigungen, oder erhalten Sie eine Remote-Benachrichtigung und erstellen Sie dann eine doppelte lokale Benachrichtigung? – Avi

+0

Der angezeigte Code dient zur * Registrierung * für Benachrichtigungen. Das eigentliche Problem wird in dem Code sein, der lokale Benachrichtigungen oder den Code sendet, der * empfing * Benachrichtigungen verarbeitet. Bearbeiten Sie Ihre Frage, um diese Funktionen anzuzeigen. –

+0

@Avi ich meine, wenn ich Remote-Benachrichtigung senden dann Gerät 2 gleiche Benachrichtigung und für lokale Benachrichtigung: wenn ich lokale Benachrichtigung gleich wie itis anzeigen, duplizieren .... – Vvk

Antwort

2

Ich denke, das ist ein Fehler auf iOS9 irgendwo. Ich habe festgestellt, dass ein großer Prozentsatz meiner App doppelte Benachrichtigungen sendet. StackoverFlow iOS App, Apples, iTunes Connect App und ein paar andere. Ziemlich sicher ist es das gleiche Problem, das Sie haben. Vielleicht ein Radar mit Apple einreichen.

+0

Sind Sie sicher, dass es sich um einen iOS-Fehler handelt? Kein Bug deines Push-Providers? –

+0

Wenn man bedenkt, dass es auf mehreren Apps war, von denen ich vermute, dass sie verschiedene Push-Anbieter verwenden, ja, ich bin mir sicher, dass es ein Bug war. Es passiert nicht mehr. Das Problem ging weg. – Tander

+0

komisch, ich habe dieses Problem kürzlich auf meinem iPhone 6 mit iOS 9.3.2. Aber nur einmal während der paar Wochen Testphase. Wir haben unseren eigenen Push-Provider, dessen Protokolle ich untersucht habe und bei dem nur ein Anruf bei APNS mit zwei gleichen Push-Benachrichtigungen auf dem iOS-Benachrichtigungscenter endete. –

3

Ich hatte ein ähnliches Problem, und in meinem Fall war Problem beim Aufruf Methode registerUserNotificationSettings: zwei Mal. Es scheint, dass diese Methode mehr als 1 Mal Aufruf führt Benachrichtigungen auf iOS 9.

So zu duplizieren, wenn Sie die gleiche Situation haben, versuchen Sie diese zwei Schritte:

  1. Entfernen Sie alle zusätzlichen Anrufe von registerUserNotificationSettings: in Code .
  2. Dann installieren Sie die App neu.

Dies sollte das Problem beheben.

+0

Hallo, aber was ist, wenn der Code bereits in Produktion ist und ich nicht zwingen kann, neu zu installieren? Der Fehler reproduziert sich immer noch nach dem Update. –

+0

Sie können nichts für Benutzer tun, die Ihre App leider bereits auf ihrem Gerät haben. Außer vielleicht informieren Sie sie über das Problem in der gesamten Website oder/und appstore App Beschreibung. Um das Problem zu beheben, müssen sie ihr Gerät neu starten oder es aus dem Speicher neu installieren. –

+0

Danke für Ihre Antwort, aber wie können Sie sicher sein? Gibt es eine Antwort von Apple? –