2011-02-05 15 views
0

私はゲームを作成しました...しかし、デバイスがオフになっているときにゲームを一時停止する必要があります...デバイスがオフになったときのためのviewdidloadのようなアクションはありますか?ありがとうiphoneがオフになったときに実行されるアクション

+0

デバイスの電源をオフにすると、すべてのプロセスが強制終了されます。私はあなたのアプリケーションデリゲートの 'applicationWillTerminate:'がそれが起こったときに実行されるかどうかは分かりません。 – BoltClock

+0

トップボタンが押されたときに "オフ"になっていないが "スリープ状態"にはなりません –

答えて

5

あなたが意味する "オフ" "スリープ" によって、2つの方法があります場合:

は、アプリのデリゲートでこれらを実装します。

- (void)applicationWillResignActive:(UIApplication *)application 
{ 
    // do sleep stuff 
} 

- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    // do wake stuff 
} 

またはこれらの通知を登録:

[[NSNotificationCenter defaultCenter] addObserver:thingThatCares 
             selector:@selector(whatToDoOnSleep:) 
              name:UIApplicationWillResignActiveNotification 
              object:[UIApplication sharedApplication]]; 
[[NSNotificationCenter defaultCenter] addObserver:thingThatCares 
             selector:@selector(whatToDoOnWake:) 
              name:UIApplicationDidBecomeActiveNotification 
              object:[UIApplication sharedApplication]]; 
+0

"thingThatCares"とは何でしょうか?私は一時停止のアクションを持っています。 –

+0

これらのイベントがいつ発生するかを知る必要のあるオブジェクト。たとえば、ゲームを駆動するビューコントローラは、viewDidAppearでこれらのオブザーバとして自身を登録し、viewWillDisappearでそれらを登録解除することができます。セレクタによって示されたメソッドは、一時停止して一時停止することができます。 – rgeorge

+0

viewDidAppearが宣言されていないというエラーが発生する –

0

私は、アプリケーションデリゲートメソッドを使用します:

- (void)applicationWillTerminate:(UIApplication *)application 

あなたのゲームを一時停止します。

関連する問題