2015-12-11 14 views
7

Od kilku godzin mamy dziwny problem w naszej aplikacji na iOS: każde powiadomienie push otrzymane na ekranie głównym systemu iOS uruchomi/wyświetli dwa razy ten sam baner powiadomień z 2-sekundowym opóźnieniem między nimi.Każdy baner powiadomień push jest wyświetlany dwukrotnie na iOS9

  • Zdarza się tylko na urządzeniach z iOS 9.x. Na urządzeniach z iOS 8.x wszystko działa zgodnie z oczekiwaniami.
  • Jeśli ustawiam punkt przerwania w - [Aplikacja AppDelegate: didReceiveRemoteNotification: fetchCompletionHandler:] jest wywoływana tylko raz dla każdego powiadomienia push.

Również ostatnio nie wprowadziliśmy żadnych zmian w backendach (przynajmniej słabych), a także dla klienta, który jest już zwolniony i jesteśmy w 100% pewni, że problemu nie było wcześniej.

Zmieniliśmy jednak możliwości w Xcode bieżącej aplikacji deweloperskiej i musieliśmy wygenerować nowe profile udostępniania jako stare, w których oznaczono je jako "Nieprawidłowe".

Tak dla nas wygląda na problem na stronach Apple. Jakieś sugestie co jeszcze spróbować/sprawdzić lub co zrobić?

Odpowiedz

7

Wydaje się, że miałem dokładnie ten sam problem jak this dude miał: Zadzwoniłem [registerUserNotificationSettings:] dwukrotnie.

Należy pamiętać, że to może nie być tak oczywiste, jak myślisz, aby sprawdzić, czy nazywa się metodą raz lub dwa razy:

nazwałem go raz na celu w konkretnym UIViewController. Niestety nazwałem go również za każdym razem w didFinishLauchingWithOptions:. Nie daj się oszukać, ponieważ dialog jest wyświetlany tylko raz.

Jeśli chcesz mieć pewność, dodaj dane wyjściowe rejestrowania w -[AppDelegate application:didRegisterUserNotificationSettings:]. W moim przypadku wywołanie zwrotne zostało wywołane dwukrotnie po tym, jak kliknąłem OK w oknie dialogowym uprawnień.

Od czasu usunięcia nieprawidłowego połączenia z numerem didFinishLauchingWithOptions: nie widziałem już podwójnych powiadomień.

3

Złożyłem raport o błędzie do Apple (Ticket # 23569779) i problem wydaje się być rozwiązany w iOS 9.2.1 beta (Build: 13D11)

byłem przeżywa ten sam problem na iOS9.1 (Kompilacja: 13B143) i iOS9.2 (kompilacja: 13c75) dla powiadomień lokalnych i zdalnych w wielu aplikacjach.

Najprostszym sposobem na odtworzenie problemu jest zaplanowanie lokalnego powiadomienia w ramach mojej aplikacji, gdy aplikacja jest w tle.

- (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]]; 
} 

To spowoduje baner powiadomienia pojawiające się dwukrotnie:

Duplicate banner images

+0

Czy bilet zgłoszenia błędu został zamknięty i/lub skomentowany? Jeśli mógłbyś przesłać bilet do [OpenRadar] (https://openradar.appspot.com), byłby bardzo przydatny! Miałem ten sam problem i uwielbiam oficjalny komentarz, który został naprawiony. – pkamb

+0

Raport o błędzie został zamknięty, a problem został rozwiązany w iOS 9.2.1 beta (kompilacja: 13D11). – gatlinhebert

+0

Otrzymuję ten problem w iOS 9.3.5 ktoś ma jakieś aktualizacje dla tego samego? –

Powiązane problemy