c/fe

http://d.hatena.ne.jp/uzulla から移行しました。

iPhone実機に自作プログラムを転送するまでの手順

各所に書かれているとおりにすごく面倒くさかった。
多分某K氏に後で説明することになると思うので、忘れないうちにメモ。

IDPはややっこしいが、基本的には各セクションのHowtoタブの通りにやればできる。

適切な値がよくわからんかったので適当な値をかいてある所もあるが、ご愛敬。
まあ、とにかく実機に転送ができたということで。

全体の流れ

  1. iPhone Developer Centerに登録する
  2. iPhone Developer Programに加入する(有料)
  3. ローカルで証明書を作り、登録する
  4. IDPで色々登録し、証明書を二枚ゲットし、インストールする
  5. Deviceを登録する
  6. AppIDを登録する
  7. Provisioning Profilesをゲットし、インストールする
  8. XcodeのオーガナイザにてiPhoneにProvisioning Profilesをインストールし、レストアする
  9. Xcodeのプロジェクト設定を色々設定する
  10. アプリをビルドする

難関は最初のIDPに加入と、IDPの色々な登録作業、プロジェクト設定をするところ。ってほとんどじゃん!

iPhone dev Centerに参加する

http://developer.apple.com/iphone/index.action
AppleIDを取得して、SDKをDlしたり、インストールしたり。
上のURLにログインして入れる所までやる。
ここは難しい所は特になかった。

iPhone Developer Programに加入する

http://developer.apple.com/jp/iphone/program/
ここから購入する、10800円。
Apple Store経由で支払いなどを行うと、ちょっとするとメールでアクティベーションコードが届く。

ここで第一の難関。どうやらAppleIDに2バイト文字が含まれているとアクティベーションにミスることがある。

We are unable to activate your iPhone Developer Program membership because we are unable to successfully verify your identity. Please contact us and reference Enrollment ID# NQ6K945E** for further assistance.

などと出力されてアクティベーションができないのだ。

素直にコンタクトセンターから「アクティベーションできねーんだけど?」と質問を送ると、半日くらいで「色々直したからリトライしてみて」と返事がくる。
ここが英語なので英語で質問しなきゃいけないのかとおもったが、日本語でレスポンスがかえってきたので、リージョンを適切に選べば日本のサポートセンターにつながるみたい。


リトライすると特に「成功しました!」とかでることもなく、iPhoneDevCenterの画面が表示される。
しばらくリロードしたりしていると、IDCトップの右上にIPHONE Developer Program とかでて、Program Portalへのリンクが表示される。
これが表示されればIDP加入は成功した。

ローカルで証明書を作成する

「Keychain Access.app」を起動する。
メニューの「キーチェーンアクセス」>「証明書アシスタント」>「認証局に証明を要求」を選択。
ウィザードが始まるので、メールアドレスにAppleIDに登録されているメールアドレスと、コモンネームはAppleIDに登録されている名前を英語で入力する。この時入れるべき英語の名前はIDCトップの「Welcome, HOGE HAGE」をみて、HOGE HAGEと入力する。
CAのメールアドレスは空欄で、要求の処理を「ディスクに保存」とし、「鍵ペア情報を指定」にチェックしておく。
「続ける」を押すとどこに保存されるか聞かれるので適当に答え、すすんだ次の画面で、鍵のサイズは2048、アルゴリズムRSAを指定する。
「続ける」を押すと鍵の生成が行われ、鍵が保存される。

IDPで色々登録し、証明書を二枚ゲットし、インストールする

http://developer.apple.com/iphone/manage/overview/index.action
IDPトップに移動し、左側メニューのCertificateを選択する。
Developmentタブで、「Add Certificate」を押す。画面が切り替わり、一番左下のボタンをおして、先ほど生成した証明書を選択する。
選択したらSubmitする。


SubmitされるとDevelopmentタブにおいて表に先ほど追加した証明書が表示され、右側に「approval」というボタンがでるので、これをクリックする。
数分くらいまってリロードすると、処理が完了し、「Download」というボタンが表示される。クリックして生成された証明書を保存する。
同時に、Developmentタブ中央くらいに表示されているテキストの「WWDR Intermediate Certificate.」リンクを右クリックして保存する。


DLした証明書をダブルクリックすると、Keychain Accessが起動して、このキーをインストールするかと聞かれるので、プルダウンでシステムを選択してインストールする。これをDLした二つの証明書に行う。

Deviceを登録する

左側メニューのDeviceを選択する。
右上の「Add Device」をクリックすると、二つのフォームが表示される。
左側は適当でよいらしい、「my iPhone」とかいれておく。
右側はiPhoneをつないだ状態でXcodeを起動し、メニューの「ウインドウ」>「オーガナイザ」でオーガナイザをひらき、DEVICEの中にある自分のiPhoneを選択して「Identifer」の横にある40文字のテキストをコピペする。

「Submit」をおし、表に入力した内容が追加されたことを確認する。

AppIDを登録する

ここは正直よくわからんかった。
左側のフォームには「test」とかいれて、右側には「*」と入力した。
「submit」すると表に追加される。

Provisioning Profilesをゲットし、インストールする

左側の「Provisioning」をえらび、「Add Profile」ボタンをクリックする。
ProfileNameには適当に「Develop」とか入れとく。
Certificateは先ほど送信した証明書のCommonName(というか名前)が表示されているので、チェックする。
AppIDは先ほど設定したtestをえらんでおく。
Devicesは先ほど設定した「my iPhone」をチェックする。

「Submit」すると表に追加される。
(たしかここは処理に時間がかかった、Certificateの登録のときと同様にする)

「Download」のボタンをクリックして、Profile設定ファイルをDLする。


Xcodeを起動し、前述の方法でオーガナイザをひらき、DEVICEから自分のiPhoneをえらんで「Provisioning」の下の「+」をおし、先ほどDlしたProfile設定ファイルを選択する。


ここでHowtoにはiPhoneをオーガナイザからレストアしろと指示があるが、レストアするとiPhoneの設定が全部ふっとぶので、メモっておいたほうがよい。つか、カメラロール(デジカメ)も全部ふっとぶので是非保存してからのほうがいい…おれはとばしてしまった…(泣)
もしくはやらなくてもうごくのかもね、おれはやっちゃったけどさ…。

Xcodeのプロジェクト設定を色々設定する

ここが結構ややこしい。

自作アプリでもIDCのサンプルアプリでもいいのでXcodeでひらき、メニューの「プロジェクト」>「プロジェクト設定」をひらく。
「コード署名ID」>「Any iPhone OS Device」の右側をダブルクリックして

iPhone Developer: HOGE HAGE

と入力する。
各所で説明されているが、iPhone Developer: のコロンの後には半角スペースが必須。


ここまでの作業が正しくいけば、
「コード署名プロビジョニングプロファイル」>「Any iPhone OS Device」右側のプルダウンに先ほど作成したProvisioning Profileの名前である「Develop」が表示されている筈。
それを選択する。

これがでなかったら…がんばるしかない。

アプリをビルドする

Xcodeの左上のプルダウンで、「Device | Debug」を選択し、「ビルドして進行」をクリックする。
多分Keychainが開いてパスワードを求められるので、普段使ってるパスワードを入力する。

しばらくするとめでたくiPhoneでアプリが起動するはずである、お疲れ様でした!
俺もこんな長文かいて疲れた!!!


おまけ、エラーコードについて

0xE800003A
というエラーがでることがある、これは証明書が正しくインストールされていない可能性が高い、ちゃんとサインできていないみたい。
多分コード署名プロビジョニングプロファイルの設定ができていないだろう。