2012-05-03 21 views
0

私の(iPhone)アプリケーションでは、アプリケーションの有効期間を記録しています。それが特定の値(例えば15分)を超えている場合、ログインビューはユーザーに警告表示されます。アプリケーションがあまりに長い間バックグラウンドにある場合、この動作は似ています。その後、アプリが再びアクティブになると、アラートビューがユーザーに表示されます。アプリケーションが長い間バックグラウンドで表示されている場合、UIAlertViewは表示されません

しかし、アプリケーションが非常に長くバックグラウンドにあり、アプリケーションが再びアクティブになる問題は、AlertViewがユーザーに表示されていないことです。セッションがタイムアウトしたかどうかを通知するためにNSNotificationsを使用しています。 - >セッションがタイムアウトしたかどうかを確認 - >ショーログイン表示 - >ポストログアウト通知

受信機: - >背景にアプリを出す - > applicationDidBecomeActive

基本的な流れは、この

スタートアプリのようですアラートビューが表示されます。私はアプリケーションの代理人だけでなく、loginviewの中にロジックを受け取りました。しかし、どちらのシナリオでも、アラートビューは長い間バックグラウンドになっていると表示されません。

私の質問私は少し遅れて通知を受け取ることができますか?ログインビューが表示されたらそれを受信したいと思います。

答えて

1

受信通知はアプリのデリゲートメソッドであり、実装されている場所を受け取ります。 wheatherアプリケーションがアクティブであるかどうかを確認するために、異なるフラグを設定することができます。

フラグのisActive = NOを設定resigactiveするアプリケーションにおいて例えば

および受信通知 チェックisActive フラグを設定hasReceivedNotification = YES; とストアデータのどこか

および出願ではaplicationがアクティブであったと がYES =第三のフラグshouldShowAlertOnLoginViewを設定する遠隔通知を受信したか否かをチェック アクティブになりました。 //通知データが

を表示する場合にあってloginviewチェックappDelegate.shouldShowAlertOnLoginViewで== YES

は、データ

に警告を表示します
関連する問題