環境 | iOS(iPhone) SDK 4.0 |
遅ればせながらiPhoneアプリ開発環境をiOS SDK 4.0にアップデートしてみたところ、
シミュレータでアプリを終了した時に、XxxAppDelegateのapplicationWillTerminateが呼ばれなくなっていました。
このMessageを受けてアプリ終了処理(状態保存など)をしていたので、呼ばれなくなってしまうと大変です。
手持ちのiPod touch(OSのバージョンは3.1.3)は問題なくapplicationWillTerminateが呼び出されます。
簡単に調べてみたところ、シミュレータでは終了処理のやり方が変わっているみたいです。 アプリを終了するのではなく、一旦バックグラウンドに遷移しているような感じです。
Xxx-info.plistにApplication does not run in backgroundを追加し、チェックを入れることで シミュレータでもapplicationWillTerminateが呼び出されるようになりました。
これiPhone 4ではどんな挙動になるんでしょうね。 実機がないから試せませんが、既存のアプリでapplicationWillTerminateが呼び出されないと色々問題が起きそうな気がします。それとも実機では一時的にバックグラウンド動作になるだけなので問題ないのでしょうか。上手くケアされていて欲しいものです。
投稿者 MASATO : 2010年07月21日 01:26 | トラックバック