iOS アプリプログラミングガイド

Last-modified: 2015-09-08 (火) 13:00:47

原題:アプリProgramming Guide for iOS
この翻訳は 2015-06-08 のバージョンのものです。


iOS アプリのアーキテクチャ

重要:このガイドは、開発段階の API または技術に関する暫定的なものです。ここでの情報は、Apple 製品で使われている技術とプログラミングインターフェイスへあなたのアプリが適用できる助けになればとApple が提供しています。ここにある情報は変更される可能性があり、これを基に実装したソフトは OS の最終バージョンと情報でテストすべきです。このガイドでは、将来開発されるだろう API や技術について何も提供しません。

アプリはかならず iOS とともに動作し、このことでユーザへ優れた体験を保証します。アプリのデザインやインターフェイスが単に優れている以前に、そのほか多くの要素がユーザ体験には含まれています。ユーザが iOS アプリに期待するのは、できるだけ小さなバッテリ使用量にもかかわらず、きびきびとした動作をすることです。アプリは最新の iOS ディバイスに対応しなくてはなりませんが、手元にあるディバイスのために作り直されたようにも見えなければなりません。そういった挙動すべてを実装するのは、最初は不安になりがちですが、それを実現できるように iOS が助けとなります。

このガイドは核となる動作に焦点を当て、iOS で軽快に動作するアプリが作れるようにします。このガイドにあるすべての機能を実装する必要はありませんが、プロジェクトを進めるにあたって一考するべきでしょう。

注意: iOS アプリの開発では iOS SDK がインストールされた Intel 搭載 Macが必要です。iOS SDK 取得に関してより詳しくは、[[iOS Dev Center>]] を参照してください。

概要

アプリのアイディアを得て実体化しようとするときは、システムとアプリの間での相互作用について知る必要があります。

アプリには、基本的な機能に対応しているよう求められる。

システムはすべてのアプリが独自のリソースと設定データ、アプリのアイコンや機能についての情報などをもっていると仮定しています。Xcode は新しく作ったプロジェクトについてある程度の情報を用意しますが、他にもたくさんのファイルも必要で、さらにアプリを App Store で配付するに前にはプロジェクトの情報が正しいものか確認しなくてはなりません。

関連する章: 求められているアプリの振る舞い

アプリは整然とした実行パスにそって動作する。

ユーザがアプリを起動してから終了するまで、アプリは整然とした実行プロセスにそって動作します。アプリがいったんインストールされると、前面に出たりバックグラウンドへ移動したり、終了されたり再起動されたり、一時的にスリープ状態になるなどの可能性があります。このようにアプリが違った状態へ遷移するたびに、アプリが変化すると予想されます。前面にあるアプリはほとんどすべてのことができますが、バックグラウンドへ移るとできることが限られます。状態変化を使用することで、それにそったアプリの挙動を調整できます。

関連する章:アプリのライフサイクル、アプリの状態遷移をあつかう際の指針

アプリは、マルチタスク環境において効率的に動かなければならない。

ユーザに、パフォーマンスと反応性、そして優れたユーザ体験と同様で、バッテリ残量は重要です。というのは、アプリのバッテリー使用量を最小にすれば、ディバイスを充電する必要がないままアプリを長い間走らせておけます。しかし、起動したり待機状態から素早く動作をし始めるのも重要です。iOS はマルチタスク環境で動作するので、ユーザが期待している応答性やユーザ体験を犠牲にすることなく、バッテリ使用量が少なくなっています。しかし、そのような環境にはアプリがシステムが定めている挙動に適応していなければなりません。

関連:バックグラウンドでの実行、アプリの状態遷移についての指針

アプリの間の通信は、決まった方法に従う。

セキュリティを維持するために、iOS アプリはサンドボックス内で動作し、他のアプリとの相互作用は制限されています。システムに含まれている他のアプリと通信したいときは、そうする決まった方法があります。

関連する章:アプリ同士の通信

アプリのパフォーマンスチューニングは重要です。

アプリで実行されるすべてのタスクは電力を消費します。電力を多く使うアプリはユーザ体験に悪い影響を与え、そうなる以前にユーザがそのアプリ自体を削除してしまう可能性があります。したがって、一つ一つの操作の電気コストに注意を配り、システムが提供している省電量測定を活用してください。

関連する章:パフォーマンスに関するヒント

このガイドの使い方。

このガイドは、これから iOS アプリを作成しようとしている初心者向けではありません。App Store へ投稿する前にアプリに磨きをかけようとしている開発者向けのものです。このガイドをつかって、どのようにしてアプリがシステムへ関わるのか、その関わり合いがスムースに行くのにしなくてはならないこと、この二つについて知識を深めてください。

前提条件

このガイドでは iOS についての詳細な情報について書かれており、アプリケーションとしての機能多数を実装する方法を示します。この本を読むのの前提条件は、iOS SDK がIntel Macにインストールされていること、開発環境を整えてあること、そして Xcode でアプリを作成し実行すると言った基本的なことを理解していることです。

iOS アプリの開発が初めてなら、これから iOS アプリの開発を始める, Start Developing iOS Apps Today?を一読してください。このドキュメントでは、アプリ開発の方法を一歩一歩紹介しており、すばやく習得する助けとなっています。またアプリ開発の始めから終わりまでを実際に作りながら進めているので、どうやってシンプルなアプリを開発したら良いか、それがどうやってきびきびと動くのかを示せています。

参考書類

iOS について学びたいなら、[[iOS に備わる技術の概要 (iOS Technology Overview)>]]を読んで、アプリに導入したい技術と機能について学んでください。

期待されている アプリの振る舞い

Xcode の真新しいプロジェクトは iOS シミュレータか 実機のディバイスで正しく動作するように設定されています。しかし、ただ単にディバイスで動作することと、App Store で公開できるとは違います。前者にはいくらかの修正が必要で、これによりユーザ体験を確実なものとします。修正は、アプリ独自のアイコンを加えることから、いかにしてユーザへ情報を示してそれを加工するかの設計にまでにいたります。この章であつかうのは、アプリが対応してくれているだろうと思われている挙動、そしてアプリの企画より以前に考えておかなければならない挙動についてです。

必要なリソースの提供

すべてのアプリは次に示すリソースとメタデータを備えなければならず、それにより iOS ディバイスでアプリが整った体裁を持てるようになります。

  • アプリ情報が納められているプロパティリスト Info.plist ファイルにはアプリについてのメタデータがあり、これを使ってシステムはアプリとやり取りをします。このファイルはXcode がプロジェクトの構成と設定を元として自動的に作製します。このファイルの中味を直接見たり修正したいなら、プロジェクトの info tab からできます。このファイルを修正するための情報および含めた方が良いキーについては、[[プロパティリスト書類の情報>]]を参照してください。
  • アプリが必要とする機能の宣言 アプリは動作に必要なハードウェアの機能を宣言せねばなりません。その情報をApp Store ではユーザが特定のディバイスで動作するのかしないかを決定するのに使用します。そのリストはプロジェクトの Info Tab にある Required device capabilities entry で編集できます。これを設定する方法は 必須のディバイス機能を宣言する?を参照してください。
  • 1つ以上のアイコン システムはディバイスのホームスクリーンにアプリのアイコンを表示します。くわえて、設定アプリでは他のバージョンのアイコンを、また検索結果の表示でも別のアイコンを使います。アイコンを具体的に設定する方法については、[[アプリのアイコン>]]を参照してください。
  • 1つ以上の起動画面 アプリが起動すると、アプリが操作可能になるまでシステムが一時的な画像を表示します。この一時的な画像はアプリの起動画面で、アプリが起動途中で、もうすぐ使用可能となると言うことを急ぎ知らせているものです。アプリに最低1つはこの画像を用意せねばならず、それとは別に特定な場面で表示する画像も用意できます。起動画面の作成に関する情報は、[[アプリの(デフォルト)起動画面>]]