7

私はapnsの問題に夢中になっています。

apnsプッシュ通知をテストしています。プッシュメッセージをうまく受け取ることができました。

しかし今、何かが大きな問題になっています。以下のような状況を伝えたいと思います。

  • 私のアプリが実行されているとき、didReceiveRemoteNotification がうまく呼び出されます。

  • アプリがバックグラウンドに入り、プッシュ メッセージを受け取った後、アプリに触れると、

    1. didFinishLaunchingWithOptions は呼び出されませんでした。

    2. didReceiveRemoteNotification は呼び出されませんでした。

    3. applicationDidBecomeActive のみが呼び出されます。

では、このような状況で到着したプッシュ メッセージを表示するにはどうすればよいでしょうか。

メソッド(NSDictionary *)userInfo内のオブジェクトにアクセスできませんでした。applicationDidBecomeActive

userInfo にアクセスするための API が見つかりませんでした。

バックグラウンドからフォアグラウンドになると、受信したプッシュ メッセージにアクセスできないのはナンセンスです。

サーバーからメッセージを再度取得する必要がありますか? このようにする必要がある場合、プッシュ メッセージ アーキテクチャが存在するのはなぜですか? それは不合理です。

4

1 に答える 1

8

アイコンをタップしてアプリを開くと、以前の通知に関する情報は表示されません。通知データにアクセスできるのは、通知を介して実際にアプリを開いた場合のみです。

アイコンをタップした場合、最近の通知が複数あった場合、アプリはどの通知に応答しているかをどのように認識しますか? アプリは、ユーザーが別の理由でアプリを開いているだけでなく、通知に応答していることをどのように知るのでしょうか? 通知は、あなたが望むことをするようには設計されていません。

詳細については、「 iOS プッシュ通知 - 通知ではなくアプリ アイコンをクリックしたときに通知データを取得する方法」を参照してください。

于 2012-12-12T20:13:54.230 に答える