2014年01月07日

iOSアプリをiPhone実機で動かす (1)

とうとう年末年始の休み期間も終わりましたね。皆様はどんな正月でしたか。信州は雪も降らず、珍しく晴天続きの穏やかな正月でした。ただし、厳しい冷え込みは相変わらずで、これからさらに寒さが厳しくなってくるので風邪をひかないように気をつけないといけません(中信地域の年間最低気温を記録するのは大抵1月末〜2月初頭で、街中で-10℃前後、山中だと-15℃以下まで下がることもあります)。全国的に昨日が仕事初めだったみたいですね。私もそうだったのですが、年明け最初の平日ということもあり、プライベートな用事がいくつも重なって日中はそちらにほとんどの時間を取られてしまいました。やっと仕事に取りかかったのは夕方になってからでした。

さて、これが今年3番目に記事になりますが、前の2つの記事は休暇中にリラックス気分で書いたので、何だかまとまりがなくて散漫な内容になってしまっている気がします。今度は実用的な内容にしようと思って少し悩んでいましたが、Xcodeで開発したiOSアプリをiPhone実機上で動かす方法について書くことにしました。

去年の8月に1台目のiPhone 4を入手しましたが、その一ヶ月後に、参考書を読みながら勉強で開発したiOSアプリをこいつで動かしてみました。もちろん上手くいったのですが、ただし、本業の仕事の関係で一日しか時間が取れなかったので、焦って作業をやってしまい、このときは記録やスクリーンショットなどを残せませんでした。

去年末に入手したiPhone 3GSを開発ターゲット機として使い始めるにあたって、今度こそその過程をブログ記事に書こうと思って、作業の全工程の記録をちゃんと取りました。本記事で、iOSアプリをiPhone実機で動かすまでの完全な手順を紹介します。同様の情報はググればたんさんヒットするので、これらの情報を参照すれば行うことはできるでしょう。しかし、この作業はかなり複雑でいくつもの工程をしっかりと踏みながらやらないと成功しません。他人の情報に頼るより自分自身で実行した記録をちゃんと残しておきたいと思いました。自分のための備忘録の意味合いが強い記事になりますが、これから同じ作業をやろうとしている方の参考になれば幸いです。

前回のiOSアプリの実機動作テストはXcode 3.2.6とiPhone 4(iOS 4.3.3搭載)でやりましたが、いまだにXcode 3を使っているユーザーは少ないでしょうし、iOS 4.3用にアプリを開発しているプログラマも少数派ではないかと思います。そう言いながらも、じつは、こだわりがあって私は少し前までメインに使っていたのはXcode 3で、アプリ開発の勉強はiOS 4.3ベースでやっていました。しかし、さすがにそんなこだわりを持ち続けるのはもう時代遅れだと悟って、去年末に完全にXcode 4へ乗り換えました(すでにXcode 5.0.2もリリースされているので、本当にいまさらという感じですね)。という訳で、今回は以下の組み合わせでiOSアプリの実機動作テストを行いました。
 開発環境  Xcode 4.3.3(収納されているのはiOS 5.1 SDKだけだが、iOS 4.3, 5.0 SDKを追加済み)
 ターゲット iPhone 3GS(iOS 5.0.1搭載)

iOSアプリをiPhone/iPad/iPod touchの実機で動かすには、Apple Developer Connection(ADC)サイトで各種の手続きを行う必要がありますが、これらの手続きが行えるのは有料のiOS Developer Programを購入してADCに登録済みのユーザーだけです。

■開発用証明書の作成とインストール


  1. WebブラウザでADCサイトにアクセスし、ログインします。

  2. ADCにログイン後Member Centerページを開くと、下のようなページが表示されます。
    ASShot140108_0001-ADC-Member_Center-1000x656
    このページに存在する[Certificates, Identifiers & Profiles]メニューを選択します。すると、下のようなページが開きます([Certificates, Identifiers & Profiles]メニューを選択したときに表示されるサイト全体を「iOS Provisioning Portal」と呼びます)。
    ASShot140106_9002-ADC-Member_Center_CIP-1000x736
    このページの左側に存在する[Certificates]メニューを選択します。

  3. すると、下のようなページが表示されます。
    ASShot140106_0003-ADC-Registering_iOSAppDev_Certificate-1000x966
    開発用証明書の作成はこのページから始まります。まずは、このページの右上に存在する[]ボタンを押します。

  4. すると、下のようなページが表示されます。
    ASShot140106_0005-ADC-Registering_iOSAppDev_Certificate-1000x1284
    これは証明書の種類を指定するためのページです。

    [Development]が開発時に、[Production]が製品リリース時に使用する証明書です。今回作成したいのはiOSアプリのデバッグや動作テスト用に使う証明書なので、このページで選択すべきなのは[iOS App Development]ラジオボタンです。この項目を選択した状態で、[Continue]ボタンを押します。

  5. すると、下のようなページが表示されます。
    ASShot140106_0006-ADC-Registering_iOSAppDev_Certificate-1000x867
    ADCから開発用証明書を発行してもらうには、Certificate Signing Request(CSR)というものを作成してADCへ送信する必要があります。上のページに表示されているのは、このCSRを作成するための手順です。これ以降、この手順に従って、MacでCSRを作成していきます。

  6. まずは、[ユーティリティ]>[キーチェーンアクセス]を起動します。

  7. キーチェーインアクセスが起動したら、[環境設定]メニューを選択して、その中に存在する[証明書]タブを開きます。
    ASShot140106_0032-Keychain_Access-Creating_CSR-777x303
    上の[オンライン証明書状況プロトコル(OCSP)]と[証明書失効リスト(CRL)]のドロップダウンメニューを両方とも[切]に設定します。

  8. [証明書アシスタント]>[証明局に証明書を要求]メニューを選択します。すると、下のようなウィンドウが開きます。
    ASShot140107_9024-Keychain_Access-Creating_CSR-616x436.png
    このウィンドウのエディットボックスに下のような情報を入力します。また、ボタン項目も下のように設定します。〔※上では[通称]を「TomyYann Devel Key」にしましたが、「TomyYann Developer Key」の方が良かったかもしれません。配布用証明書を作成する場合に、そちらの鍵の名前を「TomyYann Distribution Key」とするとバランスが良いからです〕
     ユーザーのメールアドレス:自分のメールアドレス(ADCアカウントのメールアドレスを使うぺき?)
     通称          :証明書に適用する鍵ペアの名前(任意の名前)
     CAのメールアドレス   :空欄のまま
     要求の処理       :[ディスクに保存]を選択
                  [鍵ペア情報を指定] → ON

    エディットボックスの入力とボタン項目の設定が済んだら、[続ける]ボタンを押します。

  9. すると、ファイル保存ダイヤログが開くので、CSRファイルの名前と保存先を指定します。ASShot140106_0041-Keychain_Access-Creating_CSR-616x436.png
    続いて、証明書に適用する鍵ペア(秘密鍵と公開鍵)の形式を指定するためのウィンドウが開きます。
    ASShot140106_0038-Keychain_Access-Creating_CSR-616x436.png
    いずれの設定項目も変更せず、[続ける]ボタンを押します。最後に、CSRファイルが作成されて、下のようなウィンドウが表示されます。
    ASShot140106_0039-Keychain_Access-Creating_CSR-616x436.png
    [Finder に表示]ボタンを押すと、Finderが開いてCSRファイルを確認することができます。

  10. CSRファイルが作成できたら、Webブラウザに戻り、手順5で開いていたページの[Continue]ボタンを押します。
    ASShot140106_9006-ADC-Registering_iOSAppDev_Certificate-1000x867

  11. すると、ページは下のような変わります。
    ASShot140106_0007-ADC-Registering_iOSAppDev_Certificate-1000x818
    [Choose File]ボタンを押すと、ファイル選択ダイヤログが開くので、上で作成したCSRファイルを選択します。
    ASShot140106_0008-ADC-Registering_iOSAppDev_Certificate-1000x818
    CSRファイルの選択が済んだら、[Generate]ボタンを押します。

  12. 無事に証明書が作成されると、下のようなページが表示されます。
    ASShot140106_0009-ADC-Registering_iOSAppDev_Certificate-1000x916
    このページの[Download]ボタンを押せば、作成された証明書のファイルをダウンロードできます(私が取得したときは、開発用証明書のファイル名はios_development.cerでした)。

  13. 上で取得した証明書ファイルをダブルクリックかキーチェーンアクセスにドラッグ&ドロップします。すると、キーチェーンアクセスの[証明書]カテゴリの中にそのエントリが追加されます。
    ASShot140107_9033-Keychain_Access-Installing_Certificate-900x555
    これで、MacへiOSアプリの開発用証明書をインストールできました。


■App IDの登録


  1. WebブラウザでADCサイトにアクセスし、ログインします。

  2. ADCにログイン後Member Centerページを開くと、下のようなページが表示されます。
    ASShot140108_0001-ADC-Member_Center-1000x656
    このページに存在する[Certificates, Identifiers & Profiles]メニューを選択します。すると、下のようなページが表示されます。
    ASShot140106_9102-ADC-Member_Center_CIP-1000x736
    このページの左側に存在する[Identifiers]メニューを選択します。

    なお、すでに「Certificates, Identifiers & Profiles」のいずれかのページを開いている場合は、左側に存在する[Identifiers]−[App IDs]メニューをクリックしてください。
    ASShot140112_0007-ADC-Registering_AppID_Identifier-1000x745

  3. すると、下のようなページが表示されます。
    ASShot140106_0014-ADC-Registering_AppID_Identifier-1000x966
    App IDの登録はこのページから始まります。まずは、このページの右上に存在する[]ボタンを押します。

  4. すると、下のようなページが表示されます。
    ASShot140107_9046-ADC-Registering_AppID_Identifier-1000x1837
    これはApp IDの属性情報を指定するためのページです。

    [App ID Description]−[Name]エディットボックスには、このApp ID登録情報につける名前を入力します。

    [App ID Prefix]はApp IDの接頭詞となる値で、Team IDが固定的に使用されます(Team IDはiOS Developer Program登録時に自動的に割り当てられます。一つのアカウントで複数のiOS Developer Programライセンスを取得していると、それぞれにTeam IDが割り当てられるので、その場合は複数のTeam IDから選択できます)。

    [App ID Suffix]はApp IDの接尾詞で、これにはできるだけユニークな文字列を指定する必要があります。App ID Suffixの前半部分は、慣例的にユーザーが持つドメイン名を逆並びにした文字列(ドメイン名が「ourcompany.com」なら「com.ourcompany」)を用います(ドメイン名を持っていない個人なら、「com.taroyamada」みたいに適当に決めても構いませんが、できるだけユニークな文字列にすることをお勧めします)。[Explicit App ID]ラジオボックスは、ユーザーが自分自身でアプリ毎にユニークな名前をつける場合に選択します(この形式のApp IDは、アプリ毎に一つずつ登録して使用します)。こちらの形式を選択した場合、ドメイン名を逆並びにした文字列にアプリの固有名を付加した「com.ourcompany.MyApp」のような文字列を[Bundle ID]エディットボックスに入力します。もう一方の[Wildcard App ID]という形式を選択する場合は、[Bundle ID]に「com.ourcompany.*」(最後は必ずアスタリクス)のような文字列を入力します。これによって、「*」部分に相当するアプリ固有名はユーザーが任意に決めることができます。後者の形式の方が汎用性が高いので、開発用のApp IDとしてはこちらがお勧めです。

    最後の[App Services]はアプリに組み込む特殊なサービス機能の選択です。いずれのサービス機能もアプリに組み込まないなら、すべてのチェックボックスをOFFにしておきます。

    このページ内の全項目の入力と設定が終わったら、[Continue]ボタンを押します。

  5. すると、登録しようとしているApp ID情報の確認ページが表示されます。
    ASShot140106_9023-ADC-Registering_AppID_Identifier-1000x1006
    このページに表示されている内容を確認した上で、[Submit]ボタンを押します。

  6. App IDが登録されると、下のようなページが表示されます。
    ASShot140106_9020-ADC-Registering_AppID_Identifier-1000x986
    これで、App IDの登録は完了です。


次の記事に続きます(何だかすごく長い内容になりそうな・・・)。

タグ:iphone iOS
posted by とみやん at 06:23| Comment(2) | TrackBack(0) | モバイルアプリ開発 > iOS
この記事へのコメント
はじめまして、osho-3と申します。
こちらの記事がとても丁寧に解説されていたのでブログにリンクを貼らせて頂いてもよろしいでしょうか?
Posted by osho-3 at 2014年06月19日 11:23
osho-3さん

そちらのブログへのリンク掲載まったく構いません。ぜひ、どうぞ。

アクセス解析データによると、iOS実機開発環境の構築手順とTipsについて書いた本記事から始まるシリーズのベージビュー数がかなり多いです。ググって見つけて閲覧されているだと思いますが、毎日結構な数のベージビューがあります。

iOSブログラマの端くれとして、同じ志を持っている皆様の役に立っているのなら嬉しい限りです。「誰かが読んでくれて、きっと役に立っているのだろう」というのが、ブログ記事を書く一番のモチベーションでもあります。
Posted by とみやん at 2014年06月21日 13:54
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/84744068

この記事へのトラックバック