2016-08-29 9 views
0

私はプッシュキットを実装していて、委任メソッド "didReceiveIncomingPushWithPayload"でリモート通知を受け取りますが、通知センターはそのメッセージを表示していません。私は自分のデバイスで "通知 - >アプリ"の通知を許可し、通知センターで表示するオプションが有効になっています。私はプッシュキットを使用してメッセージを受信して​​いますが、そのメッセージを表示していない通知センター

答えて

1

以下の方法を使用している場合。

func pushRegistry(registry: PKPushRegistry!, didReceiveIncomingPushWithPayload payload: PKPushPayload!, forType type: String!) 

その後、pushkitは、リモート通知が簡単なAPNSのような通知センターに来ないだろうと、サイレントプッシュ通知を取得するのに役立ちます。

このメソッドから、希望の情報を含むリモート通知を受け取った時点で、通知センターに入るUILocalNotificationをスケジュールする必要があります。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 

     if let notification:UILocalNotification = launchOptions?[UIApplicationLaunchOptionsLocalNotificationKey] as? UILocalNotification { 

     } 
} 

あなたは、ユーザ装置が再起動し、通知情報を取得している場合にはdidFinishLaunchingWithOptionsでそれをretieveできるのででもあなたは、NSUserDefaultでUILocalNotificationオブジェクトを維持することができ、非常に重要です。

+0

ありがとう@Hasya、didFinishLaunchingWithOptionsデリゲートメソッドlaunchOptions辞書はnilです。したがって、どの通知がタップされたかを検出できませんでした。 –

+0

didReceiveIncomingPushWithPayloadからUILocalNotificationをスケジュールする場合は、通知をタップするときにdidFinishLaunchingWithOptionsで取得する必要があります。更新された回答を確認してください。 – Hasya

+0

解決策を得ました。あなたのクイックフィードバック@Hasya、ありがとうございました。通知をタップすると、didReceiveLocalNotificationデリゲートメソッドが呼び出されました。 –

関連する問題