Xcode5時代の「かんたん」iOSアプリ開発セットアップ


Androidに比べると、iOSのアプリ開発は証明書やらprovisioning profileやらを用意しないといけなかったりデバイスを登録しないといけなかったりで、とかく面倒な印象です。

確かに以前はそうでしたが、Xcode5からはこのあたりの面倒さが大幅に改善されています。
ネットで情報を検索しても古い情報が大量にヒットしてしまい、なかなかそのことが分からなかったので、これからiOSアプリを開発する人のために情報をまとめておくことにしました。

## 前提

- Xcode5を使ってiOSアプリを開発する場合に必要な準備についてまとめました。
- MacBook Air（Mountain Lion）＋Xcode 5.1.1＋Firefoxで実際に試しました。
    - ちなみにこちらの環境ではChromeでDeveloperサイトで操作をすると「Loading...」という画面が表示されたまま先に進まないことがありました。もし同じ現象に遭遇した場合はブラウザを変えて試してみて下さい。

## iOSアプリ開発に必要な準備

iOSアプリを開発するにあたって必要な準備は、MacやiPhone実機の調達やらiOS Developer Programの購入やらXcodeのインストールやらは置いておくとして、大体次のとおりです：

1. 証明書の作成と登録
    - 開発者を識別するための証明書を作成してDeveloeperサイトとMacのキーチェーンに登録します。
    - 証明書には開発用のものと配布用のものがあります。
    - アプリケーションプロジェクトの「Code Signing Identity」欄に設定する必要があります。
2. デバイスの登録
    - 開発時にアプリケーションをインストールするデバイス（iPhone端末）をDeveloperサイトに登録します。
    - 登録できるのはiOS Developer Program 1ライセンスあたり100台までです。
3. アプリケーションIDの作成
    - 開発するアプリケーションを識別するための文字列であるアプリケーションID（App ID）を作成します。
4. プロビジョニングプロファイルの作成
    - 開発中のアプリケーションを実機にインストールするために必要なファイルです。
    - プロビジョニングプロファイルには証明書、アプリケーションID、デバイスIDが含まれます。
    - アプリケーションプロジェクトの「Provisioning Profile」欄に設定する必要があります。またデバイスにも追加しておく必要があります。

このうち1は基本的に一度行なえばOKです。残りは1つのアプリケーション開発に関して何度か行なう必要があるかもしれません。

なおこのあたりの用語の詳細については[こちらのサイト](http://secondflush2.blog.fc2.com/blog-entry-1085.html)が非常に良くまとまっていますので参考にして下さい。

それでは具体的に上のそれぞれの準備を行なう方法を説明していきます。

## 証明書の作成と登録

証明書の作成と登録はXcodeから行なえます。

1. Xcodeを起動し、Xcodeメニューの「Preferences...」をクリックし、表示されるウィンドウの「Accounts」をクリックして下さい。
2. 証明書を作成するユーザのApple IDを登録します。左下の「+」ボタンをクリックし、表示されるメニューから「Add Apple ID...」を選択して下さい。![002.png](https://qiita-image-store.s3.amazonaws.com/0/39704/9e088de5-fea0-c780-9f00-7994b27b9695.png "002.png")
3. Apple IDとパスワードを入力する画面が表示されますので、それぞれ入力して「Add」をクリックして下さい。
4. 登録されると、元のウィンドウの「Apple IDs」のところにApple IDが表示されます。それをクリックして右側のペインにアカウント情報を表示して下さい。![003.png](https://qiita-image-store.s3.amazonaws.com/0/39704/e7fac231-28ca-2aaf-a6ce-be22b6e6d810.png "003.png")
5. 右下に「View Details...」というボタンがあるので、それをクリックして詳細ウィンドウを開いて下さい。
6. 新しく証明書を作成するために画面の真ん中辺りにある「＋」ボタンを押して下さい。作成する証明書の種類を選択するためのメニューが表示されるので、iOSアプリの開発用の証明書ということで「iOS Development」を選択して下さい。![004.png](https://qiita-image-store.s3.amazonaws.com/0/39704/f4bc6fdb-2f17-c04f-e5ab-07b73fd24bb8.png "004.png")
7. 証明書の作成が完了すると「Signing Identity Generated」というダイアログが表示されるので「OK」をクリックして下さい。これで証明書の作成だけでなくDeveloperサイトとMacのキーチェーンへの登録が終わった状態になります。![005.png](https://qiita-image-store.s3.amazonaws.com/0/39704/72d808ec-3d20-13b5-a909-1be3af972a7b.png "005.png")

## デバイスの登録

1. 登録したいデバイス（iPhoneの実機）をMacにUSBケーブルで接続して下さい。
2. Xcodeの「Window」メニューから「Organizer」を選択してOrganizerのウィンドウを表示して下さい。
3. 左側のペインにある「DEVICES」欄に接続したデバイスのアイコンが表示されますので、クリックして下さい。
4. 右側のペインに接続したデバイスの情報が表示されますので、下にある「Add to Member Center」と書かれた「＋」ボタンをクリックして下さい。![006.png](https://qiita-image-store.s3.amazonaws.com/0/39704/263da0ac-cf01-9a05-bc4a-709736e1f60c.png "006.png")
5. どの開発チームに紐付けるかを選択するウィンドウが表示されますので、選択して「Choose」をクリックして下さい。
6. 正常に登録されると、Developerサイトのデバイス一覧画面にデバイスが表示されるようになります。![007.png](https://qiita-image-store.s3.amazonaws.com/0/39704/c996b9c7-6c95-e2a8-5cf1-b2745aafa9b2.png "007.png")

## アプリケーションIDの作成

1. [Developerサイト](https://developer.apple.com/)にiOS Developer Programに関連付けられたApple IDでログインして下さい。
2. Member Centerの「Certificates, Identifiers & Profiles」に移動し、「iOS Apps」の「Identifiers」をクリックして下さい。
3. おそらくこの時点で「Xcode iOS Wildcard App ID」というIDが作成されているかと思います。これはXcodeによって自動的に作成されたワイルドカードApp IDです。とりあえずアプリを実機で動作させるだけならこれを使えば良いでしょう。一方で、In App PurchaseやPush NotificationなどのワイルドカードApp IDでは利用できない機能を利用する場合や、他の開発チームにも所属していてそちらでも同じ名前のIDを使っていて紛らわしい（Xcodeが自動的に作成したIDは名前を変更できないのです）と思う場合は、以降の手順に従ってIDを作成して下さい。
4. 右上の「＋」ボタンを押して下さい。![008.png](https://qiita-image-store.s3.amazonaws.com/0/39704/6dfffc69-be31-ed3a-e181-c041c99d4dbd.png "008.png")
5. 「Register iOS App ID」という画面が表示されますので、項目をそれぞれ入力して「Continue」をクリックして下さい。![009.png](https://qiita-image-store.s3.amazonaws.com/0/39704/f4a64958-963d-3641-5c81-372d4e1b7cdc.png "009.png")
6. 確認画面が表示されますので、問題なければ「Submit」をクリックして下さい。これでApp IDが作成されます。![012.png](https://qiita-image-store.s3.amazonaws.com/0/39704/319b4929-d3a8-234a-9a26-ecf32d24642d.png "012.png")

## プロビジョニングプロファイルの作成

Xcodeからアカウント情報の同期を行なうと、作成したApp IDと登録済みの全てのデバイスが紐付けられたプロビジョニングプロファイルが自動的に作成されます。以下その手順です：

1. Xcodeを起動し、Xcodeメニューの「Preferences...」をクリックし、表示されるウィンドウの「Accounts」をクリックして下さい。
2. 左側のペインでプロビジョニングプロファイルを紐付ける開発者のApple IDをクリックして右側のペインにアカウント情報を表示し、右下の「View Details...」をクリックして下さい。
3. おそらくこの時点で「iOS Team Provisioning Profile: *」というプロビジョニングプロファイルが作成されているかと思います。これはXcodeによって自動的に作成されたプロビジョニングプロファイルで、ワイルドカードApp IDと登録済みデバイスに紐付けられています。とりあえずアプリを実機で動作させるだけならこれを使えば良いでしょう。それはそれとして、ここではアカウント情報の同期を行ないます。左下の同期ボタンをクリックして下さい。![014.png](https://qiita-image-store.s3.amazonaws.com/0/39704/b78eab0d-314b-b4ed-425a-5ead2bcd213f.png "014.png")
4. 配布用の証明書を登録していない場合、「Certificate Not Found」というダイアログが表示されますが、自動で作って登録しますか？という確認なのでここではスルーして構いません。「Not Now」をクリックして下さい。![015.png](https://qiita-image-store.s3.amazonaws.com/0/39704/4e7a23b9-c690-a3c2-f229-59c2533f7731.png "015.png")
5. 同期が完了すると、先ほど作成したApp IDが紐付けられた「iOS Team Provisioning Profile: XXXXX」というようなプロビジョニングプロファイルが一覧に追加されます。![016.png](https://qiita-image-store.s3.amazonaws.com/0/39704/123aabb7-4b7e-bd6e-c3a7-b229f8da8a65.png "016.png")

こうやって自動的に作成されたプロビジョニングプロファイルは名称が変更できません。そのため、複数の開発チームに所属してアプリを開発している場合などで紛らわしい（これも名前は変更できないのです）場合は手動でプロビジョニングプロファイルを作った方が良いでしょう。また、特定のデバイスとだけ紐付けたいケースなども手動でプロビジョニングプロファイルを作る必要があります。以降手順を説明します：

1. [Developerサイト](https://developer.apple.com/)にiOS Developer Programに関連付けられたApple IDでログインして下さい。
2. Member Centerの「Certificates, Identifiers & Profiles」に移動し、「iOS Apps」の「Provisioning Profiles」をクリックして下さい。
3. 右上の「＋」ボタンをクリックして下さい。![017.png](https://qiita-image-store.s3.amazonaws.com/0/39704/ccfb4ec0-50d0-8815-7393-0891923b22e1.png "017.png")
4. 作成するプロビジョニングプロファイルの種類を聞かれますので、ここでは「iOS App Development」を選択して「Continue」をクリックして下さい。![018.png](https://qiita-image-store.s3.amazonaws.com/0/39704/bf1fcf35-3ffb-6cdc-d2af-cc110b481cd0.png "018.png")
5. 紐付けるApp IDを選択する画面が表示されますので、App IDを選択して「Continue」をクリックして下さい。![019.png](https://qiita-image-store.s3.amazonaws.com/0/39704/b7079e63-c1fc-e11b-d703-7e49068c7de6.png "019.png")
6. 紐付ける証明書を選択する画面が表示されますので、証明書を選択して「Continue」をクリックして下さい。![020.png](https://qiita-image-store.s3.amazonaws.com/0/39704/de2e2035-fd41-5484-f4b5-7fba22d4dc84.png "020.png")
7. 作成するプロビジョニングプロファイルの名前を入力する画面が表示されますので、名前を入力して「Generate」をクリックして下さい。![021.png](https://qiita-image-store.s3.amazonaws.com/0/39704/6848f6b5-58cf-ffef-93b5-f52f6f489432.png "021.png")
8. 作成が完了した旨が表示されます。これでプロビジョニングプロファイルが作成されました。![022.png](https://qiita-image-store.s3.amazonaws.com/0/39704/ec6096bb-cbb4-22d6-a916-c422f81089de.png "022.png")
9. 最後にXcode上で同期しておきましょう。Xcode→Preferences...→Accounts→View Details...→同期ボタンをクリック、です。

## アプリケーションプロジェクトの設定

後はアプリケーションプロジェクトの設定で、

- 「Code Signing Identity」欄に証明書を指定
- 「Provisioning Profile」欄にプロビジョニングプロファイルを指定

すればOKです。プロビジョニングプロファイルはデバイスにも追加しておく必要がありますが、そのあたりはXcodeがよしなにやってくれますので、特に作業は必要ありません。

## おわりに

Xcode5を使ってiOSアプリを開発するための準備を行なう手順を説明しました。とりいそぎ実機で開発をするために必要なほとんどの作業がXcode上で行なうことができるようになっていることがおわかりいただけたかと思います。以前の準備の面倒さを知っている人からすると、驚くべき進歩に見えると思います。

それでは、Enjoy developing iOS apps!