2016-08-17 5 views
0

Wenn App lokale Benachrichtigungen empfängt, hat didReceiveRemoteNotification einige Operationen. Es funktioniert gut, wenn App im Vordergrund ist. Auch wenn die App im Hintergrund benachrichtigt wird und die App durch Klicken auf die Benachrichtigung geöffnet wird. Aber funktioniert nicht, wenn wir die App öffnen, ohne auf die Benachrichtigung zu klicken.didReceiveRemoteNotification funktioniert nicht, wenn Benachrichtigungen im Hintergrund empfangen werden

Wie löst man das?

if let options = launchOptions, notification = options[UIApplicationLaunchOptionsRemoteNotificationKey] as? [NSObject : AnyObject] { 
      self.application(application, didReceiveRemoteNotification: notification, fetchCompletionHandler: { (NewData) in 

      }) 
     } 

Antwort

0

Wie Sie in Ihrer Frage erwähnt ...

Benachrichtigungen funktionieren nicht, wenn wir die App öffnen, ohne die Benachrichtigung zu klicken.

Dies ist Ihr Problem hier. Wenn Sie die App öffnen, tippen Sie auf die Benachrichtigung und es sollte funktionieren. Wenn Sie die App öffnen, ohne auf die Benachrichtigung zu tippen. Das bedeutet, dass Sie nicht an einer Benachrichtigung interessiert sind, sondern nur daran interessiert sind, die App zu öffnen. so wird nichts von Ihrer Benachrichtigung sein.

Sie können das Benachrichtigungswörterbuch nur erhalten, wenn Sie (Benutzer) die App beim Antippen von Benachrichtigungsalarm/Banner öffnen.

Wenn Sie eine Benachrichtigung vor einer Aktion erhalten möchten, um es für Sie zu speichern. wie du in deinem Kommentar unten erwähnt hast. können Sie von this Post gehen.

+0

Ich habe diese Benachrichtigungsdaten in Coredata speichern –

+0

Es sollte gespeichert werden, auch wenn wir die App aus der Benachrichtigung oder aus der App-Liste öffnen. –

+0

@qwerty Ich habe meine Antwort aktualisiert. Sieh dir das jetzt an. Es wird dein Problem lösen. –

Verwandte Themen