私の(iPhone)アプリケーションでは、アプリケーションがアクティブである時間を追跡しています。特定の値(たとえば15分)を超えると、ログインビューがアラートビューとともにユーザーに表示されます。アプリケーションがバックグラウンドに長時間存在する場合、この動作は同様です。その後、アプリが再びアクティブになると、アラートビューがユーザーに表示されます。
ただし、問題は、アプリケーションが非常に長い間バックグラウンドにあり、アプリケーションが再びアクティブになると、AlertViewがユーザーに表示されないことです。セッションがタイムアウトしたかどうかを通知するためにNSNotificationsを使用しています。
基本的な流れはこんな感じ
アプリを起動する->アプリをバックグラウンドに置く->applicationDidBecomeActive:->セッションがタイムアウトしたかどうかを確認する->ログインビューを表示する->ログアウト通知を投稿する
受信者はアラートビューを表示します。私は、loginviewだけでなくアプリデリゲート内にも受信ロジックを配置しました。ただし、どちらのシナリオでも、alertviewは長時間バックグラウンドにあるかどうかは表示されません。
私の質問は、少し遅れて通知を受け取ることができますか?ログインビューが表示されたら受け取りたいです。