ViewControllerで、バックグラウンドから復帰した際の処理をしたかったが、検知できる方法がAppDelegate.mの applicationWillEnterForeground:
以外に思いつかなかったので調査。
結果としては、ViewControllerでもアプリの状態を検知する方法があった。
通知を利用する
ViewController.mの viewWillAppear
などに、通知を追加しておく。
追加
1 2 3 4 5 6 7 8 |
|
削除
1 2 3 4 5 |
|
状態一覧
UIApplicationのNotifications一覧
ライフサイクル系
- UIApplicationDidFinishLaunchingNotification
- アプリケーションが起動した直後に通知
- UIApplicationWillEnterForegroundNotification
- アプリケーションがアクティブになる直前に通知
- UIApplicationDidBecomeActiveNotification
- アプリケーションがアクティブになった時に通知
- UIApplicationDidEnterBackgroundNotification
- アプリケーションがバックグラウンドに入る時に通知
- UIApplicationWillResignActiveNotification
- アプリケーションがアクティブで無くなる直前に通知。通知アラートが表示される時などにも通知される
- UIApplicationWillTerminateNotification
- アプリケーションが終了される直前に通知
サイズ変更系
- UIApplicationWillChangeStatusBarFrameNotification
- ステータスバーのサイズ変更される直前に通知
- UIApplicationDidChangeStatusBarFrameNotification
- ステータスバーのサイズ変更が発生した時に通知。デバイスが回転した時など
- UIApplicationWillChangeStatusBarOrientationNotification
- デバイスの向きが変わる直前に通知
- UIApplicationDidChangeStatusBarOrientationNotification
- デバイスの向きが変わった後に通知
その他
- UIApplicationDidReceiveMemoryWarningNotification
- メモリ不足の警告発生時に通知
- UIApplicationProtectedDataDidBecomeAvailable
- 保護されたファイルへコードからアクセスが可能になった時に通知
- UIApplicationProtectedDataWillBecomeUnavailable
- 保護されたファイルへコードからアクセス出来なくなる前に通知
- UIApplicationSignificantTimeChangeNotification
- 時間に大きな変更が有った場合に通知。日付が変わった時や夏時間に変更など