初めてiPhone/iPadアプリ開発に挑戦する人が、迷わず短時間でアプリを作れるように、数多くの情報の中から要点をグっと絞った開発の勘所を紹介する入門連載です
本連載もいよいよ、今回で最終回です。今回は、iOS 4で追加された13の機能についておさらいし、「AssetsLibrary」フレームワークを用いてフォトライブラリへアクセスするアプリを作成します。iOS 4で追加された機能は、前回の「EventKitとiAdでiPhoneアプリにカレンダーと広告を付けるには」で紹介した機能も含まれますので、併せてご覧ください。
マルチタスキングは、ユーザーが複数アプリの切り替えを手軽に行えるように導入された仕組みです。iOS 4までは、一度に1つのアプリしか起動できず、別のアプリを起動しようとした場合は起動中のアプリを終了させる必要がありました。
それが「Fast App Switching」という機能が導入されたことで、アプリを終了させることなく瞬時に別のアプリに切り替えることが可能になりました。
前回も触れましたが、こちらがFast App Switchingの流れです。このように書くと、1のアプリが「バックグラウンドで動作している」と思う方もいるかもしれません。しかし実際は、「アプリ終了時の状態をメモリ上に保存し、アプリが再び呼ばれたときにメモリ上から展開する」という動作となっています。
もし普通のPCと同じようにバックグラウンドで動作させてしまうと、スマートフォンのような限られたリソースでは、動作が重たくなるといった問題が、すぐに出てきてしまうからです。
では「ダウンロード中に別のアプリを立ち上げたいが、ダウンロードを中断したくない」といった場面ではどうでしょうか。このような場合も想定し、アップルは特別に以下の機能をバックグラウンド動作できるようにしました。
もし「ダウンロード中」の場合は、上記「Task Finishing」という機能が働くことで、ダウンロードが完了するまでの間だけバックグラウンドで動作してくれるようになっています。
以上がマルチタスキングの概要です。これらマルチタスキングの機能はAPIレベルでサポートされているため、開発時においてはiOS SDK 4以降でビルドするだけで適用されます。
逆にiOS SDK 4より前のバージョンでビルドされているアプリは、iOS 4の上でもマルチタスキングにならないので、注意が必要です。
iOS SDK 4以降でビルドし直すには、前回記事の「SDKのバージョン違いによるビルドエラーを解消」を参照してください。
iOS 4で新しく追加されたソーシャルゲームサービスであり、このサービスを使用して世界中のユーザーと1つのアプリ内で対戦したり、スコアを共有したりできるようになりました。
それと同時に、iOS 4のデフォルトアプリとして以下の「Game Center」というアプリも追加されています。
このGame Centerアプリ自体はゲームを提供しているわけではなく、「すべてのGame Centerサービスにアクセスする機能」のみを持っています。例えば、Game Center対応アプリがサービス上に保存したスコアを閲覧したり、自分のアカウントや他のプレイヤーの情報を管理するためにあります。
以下がGame Centerサービスが提供している主な機能です。
これらGame Centerサービスにアクセスするためには、まずは「ニックネーム」を作成してサインインをする必要があります。
Game Centerアプリを起動すると、サインイン画面が表示されます。ここで入力する「ユーザー名」「パスワード」はApple IDです。「新規アカウントを作成」すると、Apple IDにひも付く形でGame Centerのニックネーム(アカウント情報)が作成されます。
アカウント作成後にApple IDでサインインすると、自分のニックネーム(ここでは「PLAYER A」)が大きく表示されます。他のGame Center対応アプリも同様に、起動時には必ずサインインを行って自分のニックネームを取得するところから始まります。もしサインインをしていない場合、そのアプリはGame Centerサービスにアクセスできません。
アプリ内でGame Centerサービスからニックネームを取得すると、サインアウトされている場合はサインインを促すダイアログが表示され、すでにサインインしていた場合は「Welcome back, 【ニックネーム】」と自動的に表示されます。
このようにアプリがニックネームを取得して初めて、Game Centerサービスを使用したマルチプレイ、リーダーボードやアチーブメントへのデータ保存・閲覧が可能となります。
実際にXcodeでGame Center対応アプリを開発してみようという場合は、最初に以下の作業を行ってGame Kitフレームワークに含まれるGame Center用APIを使用できるようにしなくてはなりません。
上記1と2はGame KitがGame Centerサービスと通信するために必要です。
iTunes Connectを使用するには、iOS Developer Programに有料登録をする必要があります。
登録して開発を進める方は、以下URLにGame Kitプログラミングについての詳細が書かれたアップル公式ドキュメント「Game Kitプログラミングガイド」があるので、ご参照ください。
iOS 4ではマルチタスキング、Game Centerなどに加え、新しく以下のフレームワークが追加されました。
これら新規フレームワークに加え、既存フレームワークへ追加されたAPI(Game Kitへ追加されたGame Center用APIなど)を含めると、およそ1500以上のAPIが追加されています。この数だけでも、iOS 4には非常に多くの機能が追加されたことが分かります。
次ページからは、本題に入り、上記フレームワークのうち、「AssetsLibrary」「ImageIO」を使用した実装例を紹介していきたいと思います。
「EventKit」「EventKitUI」「iAd」については、前回記事をご覧ください。
Copyright © ITmedia, Inc. All Rights Reserved.