IDPへの参加と実機で動かせるようにするまで

iPhone用アプリを自分で開発するためにはAppleIDがあれば出来るが、
実機で確認する・AppStoreから販売するためには
iPhone Developer Program(IDP)へ参加する必要がある。(¥10,800)
登録がすんなりいくならば問題ないけれど、言葉の壁があって
うまくいかないので、そのログを。
※もしまだAppleIDを持っていないのであれば、英語でアカウントをとることを推奨します。

IDPへ登録する

http://developer.apple.com/jp/iphone/program/apply.html

Email Verification

下にフォームがあって、メールにかいてあるコードをいれろ、とのこと。
で、どのメール?
そんなメールまだないから click here から新たにメールを送信してもらう。

受信したメールの Email Verification をクリックしてメールアドレスの認証完了。

I am enrolling as

Individual を選択してcontinue

iPhone Developer Program

continue

iPhone Developer Program License Agreement

内容をよく読んで、同意するなたチェックボックスにチェックをして次へ

Confirm your enrollment information

内容が正しければ continue
が、ここで注意点。
もし、日本のiTunes等から日本語でAppleIDを取得していたりすると、ここで
エラーが発生して先に進めなくなる。その場合は、contact us から問い合わせを行う必要がある。

Purchase your iPhone Developer Program

自分国をクリック
アップルストアのカートに進んで、「お支払い情報の登録」
で、請求先が英語になっていたら、日本語に修正して完了。


数日後(僕は1日後)届くメールでアクティベートできるはずだが、
いろんなサイトをみていると、その時にまた英語/日本語問題が発生する模様。
なので、この時点で先に IDP のサイトにいって、Edit Profile から
文字化けしているところを英語で書き直してみる。
が、、、
だめだった・・・
お支払い情報が日本語じゃなく英語で入力することができればたぶん大丈夫なんだと思う。

アクティベートコードの書いてあるメールの受信

activate コードの記述されたメールが届くので、サイトにアクセスしてみるが、
activate に失敗してしまう。
アカウント取得時は英語で書いてあったにも関わらず、ここで失敗するということは
お支払い情報から情報をひっぱってると思われる。
失敗したので、また contact us から問い合わせをしてみる。

英語の全然だめな僕が書いてみた内容が↓

Hi,

Im Japanese developer.
I want to join iPhone Developer Program memberships, but it cant activate.
My Enrollment ID is XXXXXXX.

order details:
date: Fri, 27 Feb 2009 11:35:PM 0900
Web Order No: WXXXXXXX

my infos:
name: rnamiki
address: hogeohoge tokyo japan

Please check its.

Thanks.

で、1日ぐらいあとに、日本語でメールがきます。
それによると、手動で処理をやるから WebOrderNo と支払い情報をコピペしれ
とのこと。いや、僕からのメールに書いておいたんですけど。。

しばらくまつと、対応した旨の返信が届くのでそしたら最初に届いた activate コードの入ったメールから
再度アクセスしてみると、見事完了。

IDPページにてもろもろ登録

certificationsの登録

登録する証明書の作成
作成方法はIDPのページの certificates ページの How To にも書いてある

アプリケーション->ユーティリティ->キーチェーンアクセスを開く。
メニュー->キーチェーンアクセス->証明書アシスタント->認証局に証明を要求

ユーザーのメールアドレス:AppleIDが登録されているメールアドレス
コモンネーム:IDCのトップ画面に表示されているAppleIDの名前
CAのメールアドレス:空
ディスクに保存にチェック

次にIDPのページのcertificationsページにいって
DevelopmentタブにCertificates一覧があるページ
空の欄の右側にRequest Certificateがあるので、クリック。
一番したにフォームがあるので、さきほど作成した証明書を選んでsubmitすると、
一覧ページに作成したものが出てくる。

数分後リロードすると、アップした証明書の右側にdownloadボタンが出てくるので、証明書をダウンロードする。
また、ページ下部から WWDR intermediate certificate がダウンロードできるので、これもおとしておく。

おとしてきたcerファイル2個を、クリックするとキーチェーンアクセスが開き、登録するか聞かれるので
キーチェーン:システム
として登録を行う。

deviceの登録

IDPのDevicesページのManageタブ
右上の Add Deviceを押す。
ここで、「Device Name」と「Device ID」を入力する。
「Device Name」は適当で良い。
「Device ID」はMACiPhoneを接続し、XCodeを起動後、
メニュー->ウィンドウ->オーガナイザ
で表示される実機の情報の中の Identifier の部分を入力する。

App IDsの登録

IDPのApp IDsページのManageタブ
右上のAdd IDを押す。
ここで記載されている英文を読めばわかるのだが、
App ID の最後は * で終わらせる必要がある。
「Name」は適当
「Bundle Identifire」は、ドメインを持ってる人は、それを逆にしたものをいれる。
例えば、ヤフーの中の人なら、「jp.co.yahoo.*」とする。
もってなければ、まぁ他人とかぶらないようにがんばる。

Provisioning Profileの登録

IDCのProvisioningページManageタブ
右上にあるAdd profileを押す。
「Profile Name」適当
「Certificate」AppleIDの名前が表示されているので、チェック
「App ID」作成したIDを選択
「Device」登録した実機を選択

数分経ってブラウザをリロードすると、downloadボタンが表示されているので、
Profileをダウンロードする。

XCodeにProvisioning Profileを設定

MACiPhoneを接続し、ダウンロードしたProfileをクリックするか、
XCodeを起動->メニュー->ウィンドウ->オーガナイザ
ここでProvisioningの「+」からProfileを追加する。

アプリに適応する

作成中のプロジェクトを開き、
メニュー->プロジェクト->プロジェクト設定を編集
Code Signing->コード署名ID->Any iPhone OS Device の値をさきほどのProfileの値にする(プルダウンで選択可能)。

次に、Info.plist を開く。
「Bundle identifier」の値を、APPID + ${PRODUCT_NAME}にする
例)jp.co.yahoo.${PRODUCT_NAME}

ビルド

アクティブSDKをSimulatorからDeviceに変更し、実行
はれて実機での確認を行うことができる。

実機で実行すようとするとエラーになるんですけど

0xE80003A こんなエラーがよくでる。
AppIDやBundle Identifireを見直してみても間違っていないのであれば、一度
ビルド->すべてのターゲットをクリーニング
を行ってからまたビルドをしてみるとうまくいくことも。

総括

手順多すぎてめんどいけど、How ToがIDPのページに書いてあるので、
ちゃんと読めば出来ます。
日本語/英語問題も、うげーってなるかと思うけど、日本語でメールかえってくるし
その対応を早いので、全然問題なかった。

本当は画面のキャプチャをとりながらやりたかったんだけど、Macでどうやってキャプチャとるのかわからなかった・・・

ということで、Let's develop