2010-06-17

iOS 4のマルチタスクへの対応

前のポストで、そもそもiOS 4に対応するフェーズをまとめました。で、iOS 4に対応するとした場合、どの機能に対応するとどうなるかをまとめます。


高速アプリ切り替え
SDK 4.0でビルドすると自動的に対応します。ただし、マルチタスク自体のアプリとしては、裏に回ったときの正しい作法というものがありますので、それに従った動作が求められます。


バックグラウンド・オーディオ
Info.plistでバックグラウンドでの再生を希望する旨を記述しておくと、バックグラウンドに回った場合の音の再生処理が継続して行えます。アプリ側で特別にやらなくてはいけないことは増えませんが、メモリの使い量、I/Oの使い方など工夫しなくてはいけなくなると予想されます。

Voice over IP

Info.plistでVoIPを実装したいと記述しておくと、インターネット電話を実現するために必要な待ち受け接続への対応をシステムがやってくれます。起動し続けなくても、必要なときに起こされます。標準の電話アプリと同じような立ち位置になれると言うことです。実装は大変でしょう。

バックグラウンドロケーション
Info.plistでロケーションを取得したいと記述しておくと、バックグラウンドにいるときも位置情報を取得できるアプリが作れます。バッテリーのことを考えると一番やっかいな種類のアプリです。

タスクの完了待ち
これら上記の特定用途のマルチタスク機能と関係なく、すべてのiOS 4対応アプリは、バックグラウンドに回る前に一定期間の猶予が与えられます。まだ仕事完了してないよって場合には、ブロックで処理を記述して実行させることができます。この処理が終わるまでサスペンドはされません(見た目上バックグラウンドに回ったことにはなります)。一定時間を過ぎてもタスクが終わっていない場合、システムのやつは勝手に殺すぞと言ってますので気をつけましょう。

ローカル・ノーティフィケーション
上記のバックグラウンド処理がユーザーに通知するUIとしてローカル・ノーティフィケーションが追加されてます。

これ以上の詳しい情報は、iPhone developer登録をすればドキュメントで見れますので、各自調べること。

0 件のコメント: