【アプリ開発日記】ポーズ(画面をとめているのに)してるのに画面が動いてしまう現象を解消


デッバグ大事
現象
ポーズ画面で画面を止める。
iPhoneのホームボタンを押す。
アプリ閉じる。
アプリを開く。
なぜかゲームが動いている。



ポーズの(画面を止める)処理自体は、
[[CCDirector sharedDirector] pause];
と書いていました。
しかし、アプリは動いているのですが、
ポーズ時に表示するボタン等は動いているので
これ以外のフラグ的な処理は解除されていない模様。

先人の知恵を借りにGoogleで検索したところ
こちらのサイト様見つかりました。
cocos2d:アプリのpauseとresumeの注意点

対策も詳細に書かれております。
私なりにまとめますと、

AppDelegate.mのなかに、アプリを起動したときに自動で動き出す処理が存在。
※アプリを停止(ホームボタンを押すなど)した場合も自動で停止する処理が存在。
そこにシングルトンでの判定を追加することにより、自動で動き出す処理を制御する。

ちなみにソースはこんな感じで追加してます。
フラグは上記サイト様のまんまですけど

デバッグって大事。
そして記事を残しておいてくれる人って素敵!