2015-12-11 11 views
7

Da qualche ora abbiamo un problema strano nella nostra app iOS: ogni notifica push ricevuta sulla schermata iniziale di iOS attiverà/mostrerà lo stesso banner di notifica due volte con un ritardo di 2 secondi fra loro.Ogni Push Notification Banner viene mostrato due volte su iOS9

  • Si verifica solo su dispositivi con iOS 9.x. Sui dispositivi iOS 8.x tutto funziona ancora come previsto.
  • Se si imposta un punto di interruzione in [AppDelegate application: didReceiveRemoteNotification: fetchCompletionHandler:] viene chiamato solo una volta per ogni notifica push.

Inoltre non abbiamo apportato modifiche nel back-end recentemente (almeno un debole) e accade anche per i client che sono già stati rilasciati e siamo sicuri al 100% di non aver visto il problema prima.

Abbiamo tuttavia modificato la capacità in Xcode dell'attuale app di sviluppo e abbiamo dovuto generare nuovi profili di provisioning come quelli vecchi dove sono stati contrassegnati come "Invalid".

Quindi per noi sembra un problema sui lati Apple. Qualche suggerimento cosa altro da provare/controllare o cosa fare?

risposta

7

Sembra che ho avuto esattamente lo stesso problema come this dude avuto: ho chiamato [registerUserNotificationSettings:] due volte.

essere consapevoli che potrebbe non essere così evidente come si pensa per vedere se si chiama il metodo di una o due volte:

ho chiamato una volta apposta in specifici UIViewController. Purtroppo ho anche chiamato ogni volta in didFinishLauchingWithOptions:. Non lasciarti ingannare perché vedi una finestra solo una volta.

Se si desidera essere certi aggiungere un output di registrazione in -[AppDelegate application:didRegisterUserNotificationSettings:]. Nel mio caso il callback è stato chiamato due volte dopo aver premuto OK nella finestra di dialogo delle autorizzazioni.

Da quando ho rimosso la chiamata fuori posto in didFinishLauchingWithOptions: non ho visto più le doppie notifiche.

3

ho presentato una segnalazione di bug ad Apple (Ticket # 23.569.779) e la questione sembra essere stato corretto in iOS 9.2.1 beta (Build: 13D11)

stavo sperimentando lo stesso problema su iOS9.1 (Build: 13B143) e iOS9.2 (Build: 13c75) per le notifiche locali e remote su più app.

Il modo più semplice per me per ricreare il problema è pianificare una notifica locale all'interno del mio delegato dell'app quando l'app è in background.

- (void)applicationDidEnterBackground:(UIApplication *)application { 

    UILocalNotification *notification = [[UILocalNotification alloc] init]; 

    notification.repeatInterval = NSDayCalendarUnit; 
    [notification setAlertBody:@"My test."]; 
    [notification setFireDate:[NSDate dateWithTimeIntervalSinceNow:1]]; 
    [notification setTimeZone:[NSTimeZone defaultTimeZone]]; 
    [application setScheduledLocalNotifications:[NSArray arrayWithObject:notification]]; 
} 

Questo si tradurrà nel banner di notifica appare due volte:

Duplicate banner images

+0

La segnalazione di bug è stata chiusa e/o commentata? Se potessi inviare il ticket a [OpenRadar] (https://openradar.appspot.com) sarebbe molto utile! Ho avuto questo stesso problema e mi piacerebbe un commento ufficiale che è stato risolto. – pkamb

+0

Il bug report è stato chiuso e il problema è stato risolto in iOS 9.2.1 beta (Build: 13D11). – gatlinhebert

+0

Ho riscontrato questo problema in iOS 9.3.5 qualcuno ha un aggiornamento per lo stesso? –