UIApplicationDidBecomeActiveNotification に登録し、イベントを適切に受け取ることができます。ただし、アプリがまだ実行されている間にこれらの通知を受け取ることがあります。アプリの再起動/再開をトリガーするメモリの問題が疑われましたが、これが事実であることを確認できませんでした (同時にメモリの警告が表示されました)。アプリの実行中にこれらのメソッドが呼び出される理由 (呼び出しなし、ロックなしなど) はありますか?
私はこれらの通知に登録しています:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appDidBecomeActiveNotif:) name:UIApplicationDidBecomeActiveNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appWillResignActiveNotif:) name:UIApplicationWillResignActiveNotification object:nil];
(これは、dispatch_once を使用してシングルトン コンストラクターで 1 回実行されます)
対応する機能:
-(void)appDidBecomeActiveNotif:(NSNotification*)notif
{
NSLog(@"appDidBecomeActiveNotif called");
}
-(void)appWillResignActiveNotif:(NSNotification*)notif
{
NSLog(@"appWillResignActiveNotif called");
}
ここにいくつかのログがあります:
2013-04-11 09:28:11.401 App[1499:907] appWillResignActiveNotif
2013-04-11 09:28:13.505 App[1499:907] appDidBecomeActiveNotif