UIApplicationの変更通知はObserverで受け取ることができます。
そこで受け取れる通知を下記にまとめました。
UIApplicationのNotifications(通知)一覧
パラメータ | 説明 |
---|---|
UIApplicationDidEnterBackgroundNotification | アプリケーションがバックグラウンドに入る時に通知 |
UIApplicationWillEnterForegroundNotification | アプリケーションがアクティブになる直前に通知 |
UIApplicationDidFinishLaunchingNotification | アプリケーションが起動した直後に通知 |
UIApplicationDidBecomeActiveNotification | アプリケーションがアクティブになった時に通知 |
UIApplicationWillResignActiveNotification | アプリケーションがアクティブで無くなる直前に通知 |
UIApplicationDidReceiveMemoryWarningNotification | メモリ使用量の警告の通知 |
UIApplicationWillTerminateNotification | アプリケーションが終了される直前に通知 |
UIApplicationSignificantTimeChangeNotification | 日付の変更を通知 |
UIApplicationWillChangeStatusBarOrientationNotification | デバイスの向きが変わる直前に通知 |
UIApplicationDidChangeStatusBarOrientationNotification | デバイスの向きが変わった直後に通知 |
UIApplicationWillChangeStatusBarFrameNotification | ステータスバーのサイズ変更される直前に通知 |
UIApplicationDidChangeStatusBarFrameNotification | ステータスバーのサイズ変更された直後に通知 |
UIApplicationBackgroundRefreshStatusDidChangeNotification | 端末の[Appのバックグラウンド更新]がオフにされ、再度アプリがアクティブになった時に通知されます |
UIApplicationProtectedDataWillBecomeUnavailable | 保護されたファイル(*1)へコードからアクセス出来なくなる直前に通知 |
UIApplicationProtectedDataDidBecomeAvailable | 保護されたファイル(*1)へコードからアクセスが可能になった時に通知 |
*1 保護されたファイル(保護ファイル)については詳しくは「iOS App Programming Guid」の「Protecting Data Using On-Disk Encryption」の項目を参照
使用方法
オブザーバに変更通知を登録する
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(hoge:)
name:UIApplicationDidBecomeActiveNotification
object:nil];
変更通知を受け取る
- (void)hoge:(NSNotification *)notification
{
}
通知を削除する場合
[[NSNotificationCenter defaultCenter] removeObserver:self
name:UIApplicationDidBecomeActiveNotification
object:nil];
NSNotificationCenterに対する全ての通知を削除する場合
[[NSNotificationCenter defaultCenter] removeObserver:self];
参考元
下記のサイト、ブログを参考にしました。
■[iPhoneプログラミング]UIApplicationのNotificationsの一覧 - 強火で進め
【iOS】続・アプリがバックグラウンド・フォアグラウンド状態になった時の実行処理 - 日本VTR実験室
■ [iPhone][develop] アプリ終了時に呼ばれるメソッドをAppDelegate以外にも登録する - Ni chicha, ni limona - 平均から抜けられない