2016-10-20 2 views
0

J'ai une application et PUSHs fonctionnent bien lorsque l'application est en arrière-plan Je tape sur notification push et il me redirige - OK .Comment faire une application PAS me rediriger quand l'application est en cours d'exécution et la notification push vient et je ne tape pas dessus

Mais voici la situation que je dois corriger:

1 étape: J'ouvre l'application, de travailler avec elle, elle est active

étape 2: notification vient, mais l'utilisateur ne voit rien et il est redirigé vers un autre ViewController (selon les informations de notification push) INATTENDUMENT.

J'ai besoin de l'application pour ne pas rediriger n'importe où quand elle est active à moins que la notification push ne soit réellement tapée.

+0

Pouvez-vous nous montrer un peu de code pour voir ce qui se passe? –

+0

qui a créé l'extrait de code réel qui _redirects_ l'utilisateur 'de façon inattendue'? vous pouvez également partager cet extrait de code, mais il est plus probable que vous deviez réviser le fonctionnement de votre répartiteur personnalisé qui analyse la notification lorsqu'elle est reçue. – holex

+0

J'ai posté la solution ci-dessous merci. c'est arrivé parce que je n'ai jamais vérifié l'état d'une application – Gulz

Répondre

0

J'ai trouvé une solution! dans la méthode didReceiveRemoteNotification ajouter instruction if:

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) { 
    if application.applicationState == .inactive || application.applicationState == .background { 
     //here add you actions 
    } 
}