sos の 作業メモ

プログラミングや英会話学習、マイルや旅行、日常生活など。最近はWebFormなASP.NETのお守りがお仕事です。

日々の生活にhappyをプラスする|ハピタス Gポイント

アプリがフォアグラウンドにいる間だけ処理をする

アプリがフォアグラウンドにいる間だけ、何かを処理したいことってよくありますが、 ( インターバルタイマーみたいなやつ) UIApplicationDelegateのapplicationWillResignActive:だと、Notificationを引き出した時や、電話の着呼の状態でも呼ばれてしまい都合が悪いということで、おとなしく

- (void)applicationDidEnterBackground:(UIApplication *)application;

の方に停止処理を入れる事にしました。

applicationDidEnterBackground:を @optionalで追加し、AppDelegate.mの同メソッド内でイベントを伝播させるようにして無事に解決。

よくよく考えると、GCDのタイマーってバックグラウンドでは停止してるので気にしなくても良いような気はしますが、タイマーだけでなくバックグラウンドで解放しないといけないものもありますしということで。