通知を受信するためにAPNSサービスに登録するiOS5.1アプリケーションがあります。登録は成功し、通知を正しく受け取ります。通知を処理しようとすると問題が発生します。
アプリケーションが実行didReceiveRemoteNotification
されると、AppDelegateのメソッドが正しく呼び出されるため、通知は意図したとおりに処理されます。ただし、これは、アプリケーションがフォアグラウンドで実行されている場合にのみ発生します。
ただし、アプリケーションがバックグラウンドで実行されている場合、または単に停止されている場合、そのメソッドは呼び出されません。ディクショナリdidFinishLaunchingWithOptions
から通知を取得して処理するには、メソッドメソッドにいくつかの行を追加する必要があることを読みました。userInfo
これは問題なく機能しますが、通知センターで通知をクリックしてアプリケーションを開いた場合に限ります。つまり、バッジをクリックしてアプリケーションを開くか、バックグラウンドで実行している場合はコンテキストを変更するだけで、アプリは通知が届いたことを認識しません。さらに、複数の通知を受信した場合は、次のことができます。通知センターをクリックして一度に処理するのは1つだけですが、これは面倒です:-)
通知センターで保留中の通知を読み取る方法はありますか?メソッドを使用してそれらをフラッシュする方法があることは知っていますが、それらをcancelAllLocalNotifications
読み取る方法は見つかりませんでした。そして、私は本当にそれらすべてを処理する必要があります。アプリケーションがフォアグラウンドになったときに情報を再度取得するために、サードパーティの通知サーバーとの通信プロトコルを実装することを考えましたが、情報はすでにオペレーティングシステムにあるため、何らかの方法でアクセスできない場合は奇妙に感じます。
それで、誰かがそれをする方法を知っていますか?前もって感謝します。