Bannière de notification push iOS affichée deux fois pour un push unique

J'ai remarqué que l'envoi d'une notification Push entraîne le comportement suivant:

Push Banner est affiché deux fois?

Voyez comment la bannière est montrée une deuxième fois, après un court timeout?

Au début, je pensais que notre backend envoyait par erreur deux notifications push, l'une après l'autre.

Toutefois, cela semble être le comportement iOS par défaut pour une seule notification Push. La bannière est affichée, puis immédiatement "affichée à nouveau". Cela se traduit par cette interface instable montré dans le gif. La bannière semble être reçue deux fois.

Testé en utilisant iOS 9.0.2.

Je ne me souviens pas avoir vu ce comportement d'autres applications qui m'envoient des notifications push. Est-ce que je fais quelque chose de mal qui ferait apparaître la bannière deux fois?

Radar:

Engineering a déterminé que votre rapport de bogue (23133694) est une copy d'un autre numéro (23130766) et sera fermé.

didFinishLaunchingWithOptions: le même problème, mais après d'innombrables heures à essayer de déboguer, j'ai réalisé que didFinishLaunchingWithOptions: registerUserNotificationSettings(settings) deux fois dans didFinishLaunchingWithOptions: Vérifiez que vous ne faites pas la même chose

Etes-vous sûr que vous faites toute votre installation, n'est-ce pas?
Si vous fournissez plus de code, il sera plus facile de find le bug. Ce n'est certainement pas un bug iOS.

Choses de base à vérifier en cas de problème avec les notifications du server:

1. Vérifiez votre profil d'approvisionnement et nettoyez tous les certificates inutilisés.
2. Assurez-vous que la configuration de votre server est correcte. Encore une fois, plus de détails sont nécessaires pour une réponse complète.

Si vous le faites hors ligne, vous avez généralement manqué quelque chose dans votre code ou votre gestionnaire de messages isolés est appelé deux fois.

Utilisez-vous la database pour stocker l'identifiant de l'appareil?

Si oui, il peut être stocké deux fois l'identifiant de l'appareil. Si possible, nettoyer la database et essayer de l'envoyer à nouveau

Je pense que la mauvaise réponse est acceptée ici (s'il s'agit de migrer de Parse à OneSignal). Parce que pour OneSignal, il n'y a pas de solution appropriée pour cela. Je cherche aussi la solution si quelqu'un en a. La seule solution pour cela était de redémarrer le téléphone.

Mais c'est bizarre. Nous ne pouvons pas requestr à tous les users de redémarrer leur appareil.

Vous avez ce problème pour deux appareils que nous utilisions avec les versions ios 9.3.3 et ios 9.2. Mais ce problème ne venait pas pour un périphérique exécutant ios 8.2 et un autre pour iOS 10 (testé sur 10.3)

Un problème est survenu sur les périphériques avec 9.3.3 et 9.2 à chaque nouvelle installation. Mais redémarrer l'appareil semblait résoudre le problème. Bien que ce ne soit pas une solution, nous pouvons proposer aux clients.

Dans les journaux de la console pour le système, nous avons reçu le message «Appels non équilibrés pour commencer / terminer les transitions d'apparence pour SBBannerButtonViewController» lorsque cela s'est produit.

Cela semble être un problème avec certains périphériques ayant des versions 9.x et devrait fonctionner correctement pour les appareils exécutant iOS 10.0 et supérieur.

Nous étions confrontés au même problème sur IOS 9.3.1

Nous avons utilisé le dirigeable urbain pour gérer les notifications et c'était notre configuration

 let config = UAConfig.default() UAirship.setLogging(false) UAirship.takeOff(config) UAirship.push().userPushNotificationsEnabled = true UAirship.push().notificationOptions = [.alert, .badge, .sound] UAirship.push().backgroundPushNotificationsEnabled = false UAirship.push().pushNotificationDelegate = self 

Après de nombreuses tentatives, nous avons simplement supprimé la ligne suivante et cela a fonctionné!

 UAirship.push().notificationOptions = [.alert, .badge, .sound] 

J'espère que cela aidera quelqu'un.

Selon cette réponse à une question similaire, ce problème a été signalé comme rdar: // 23569779 et devrait être corrigé dans la version publique iOS 9.3.

S'il vous plaît laissez un commentaire si vous reproduisez ce problème dans iOS 9.3+

Supposément fixé dans:

iOS 9.2.1 beta (Build: 13D11)