8

実装しました

application:didReceiveRemoteNotification:

プッシュ通知を受信したときにアプリにデータを保存します。

ただし、アプリがバックグラウンドで通知を受け取った場合、上部に表示される通知バナーをタッチした場合にのみデータが保存されます。

ここに画像の説明を入力

代わりに、アプリのアイコンをタップして再度開くと、通知の内容は保存されません。

ここに画像の説明を入力

配布プロファイルを使用している場合にのみ通知を受信して​​いるapplication:didReceiveRemoteNotification:ため、通知バナーを一番上にプッシュした場合にのみ呼び出されるかどうかはわかりません。

デバイスでのユーザーアクションの後ではなく、通知の受信時に常に呼び出されると思いました。

更新します。これが役立つかどうかはわかりませんが、お知らせするために、これらのメソッドを実装していません。

– applicationDidEnterBackground:
– applicationWillEnterForeground:
- applicationDidBecomeActive:
4

1 に答える 1

1

理由がわかったと思います。ドキュメントから:

アクション ボタンが (iOS を実行しているデバイスで) タップされると、システムはアプリケーションを起動し、アプリケーションはデリゲートの application:didFinishLaunchingWithOptions: メソッドを呼び出します (実装されている場合)。通知ペイロード (リモート通知の場合) またはローカル通知オブジェクト (ローカル通知の場合) で渡します。

iOS を実行しているデバイスでアプリケーション アイコンがタップされた場合、アプリケーションは同じメソッドを呼び出しますが、通知に関する情報は提供しません。

http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html

ただし、アイコンをタッチしてアプリを再度開いた場合でも、ペイロードをロードする方法があるかどうか疑問に思っています。

于 2012-07-22T20:07:18.280 に答える