通知を受け取るためにAPNSサービスに登録するiOS 5.1アプリケーションがあります。登録が成功し、通知が正しく受信されます。この問題は、通知を処理しようとするときに発生します。 iOSで未読プッシュ通知を処理するにはどうすればよいですか?
は、アプリケーションが実行されると、AppDelegateのメソッドdidReceiveRemoteNotification
が正しく呼び出され、意図したように通知が処理されます。ただし、これは、アプリケーションがフォアグラウンドで実行されている場合にのみ発生します。
メソッドが呼び出されていないこと、しかし、ときに、アプリケーションがバックグラウンドで実行されているか、単に停止しています。私はuserInfo
辞書から通知を取得し、それを処理するメソッドdidFinishLaunchingWithOptions
メソッドにいくつかの行を追加する必要があることを読んだことがあります。これはうまくいきますが、通知センターで通知をクリックしてアプリケーションを開いた場合にのみ有効です。つまり、バッジをクリックしてアプリケーションを開くと、バックグラウンドで実行していた場合はコンテキストを変更するだけで、アプリは通知が届いたことを認識しません。さらに、複数の通知が届いた場合、通知センターで、保留中の通知を読むためにどのような方法があります
:-)痛みで通知センター、をクリックして、一度それらの1つだけを扱いますか?私はメソッドcancelAllLocalNotifications
を使用してそれらをフラッシュする方法があることを知っていますが、私はちょうどそれらを読む方法を見つけていません。そして、私は本当にそれらのすべてを扱う必要があります。アプリケーションがフォアグラウンドになったときに、情報を再度取得するためにサードパーティーの通知サーバーと通信プロトコルを実装することを考えましたが、情報がオペレーティングシステムに既に存在するため、何とかアクセスできないと奇妙に感じます。
だから誰もそれを行う方法を知っていますか?前もって感謝します。
プッシュ通知が到着することが保証されていないことは確かです。おそらく、私はそれが私が望むすべての情報が含まれていることを確かめることができないので、notifiactionサービスからそれらを読むことを試みる時間を無駄にしています。とにかく、解決策を破棄する前に、そうする方法があるかどうかを知る必要があります。 – Bartserk
あなたは正しいです。私が知る限り、サーバーサイドからフェッチする以外の方法はありません。 –