(工事中)
*開発環境の構築手順 [#kce3dc4c]
ここではiPhone SDKのインストールから実機テストまでの手順を公開しています(右も左もわからない状態で書いていますので内容が間違っているかもしれませんm(_ _)m)。あと文中の時間などは自分の時の話ですので、あくまでも目安としてお考え下さい。

実機テストまでの大きな流れは以下の通りです。
+iPhone SDKのインストール
+iPhone Developer Programへの参加
+実機テストの準備(証明書の作成とインストール)
+実機テスト

2/2
実機デバッグへの道
ポイントは以下の通りです。
+サポートへのメールは日本語でも受け付けてくれる
+サポートからの返事はわりと早く返ってくるが日中のみのようなので、その日のうちに終わらせたい場合は午前中に始めるとよいかも?
+iPhone Dev Centerで登録する情報とApple Storeで登録する情報は微妙に共通じゃない部分があるので注意(登録のたびによく確認すること)。例えばiPhone Dev
+登録作業など途中で引き返すと思わぬエラーに見舞われるので、一度開始したら最後まで設定する方がよい。

(ポイント)
	・サポートとのメールは割りと早く返ってくるが、日中のみっぽいので
	 その日のうちに終わらせたい場合は午前中に始めるとよいかも。
	・iPhone Dev Centerで登録する情報とApple Storeで登録する情報は微妙に
	 共通じゃない部分があるので注意(登録のたびによく確認すること)。
	・登録作業など途中で引き返すと思わぬエラーに見舞われるので、一度開始したら
	 最後まで設定する方がよい。


(まずは登録)
1:iPhone Developer Programに登録
	英語名で作成(既存のApple IDで日本語名のものだと化けるので)
	ちなみに「State/Province」の項にハイフンを使うとなぜか2桁の数字になるので
	注意(バグ?)。
*1:iPhone SDKのインストール [#u4ecb5b4]
iPhone SDKのインストールは基本的にインストーラーを実行するだけで完了します。ただ、インストーラーはログインをする必要がありますので、事前にアカウントを取得する必要があります。

2:99USDを支払う
	以下から可能
	http://developer.apple.com/iphone/pgm1/
アカウントはアップルストアで使用できるApple IDと共通ですが、アカウント情報に日本語が入っている(特に名前)と後々面倒なことになりますので、もし実機テストまで行いたいのであれば開発用に一つアカウントを作成することをお勧めします。アカウントを新規登録する場合、各項目は全てアルファベットにした方が良いです。ただし「State/Province」の項にハイフンを使う(例えばTokyo-toとか)となぜか2桁の数字になるので注意が必要です。

	途中でキャンセルしたりすると「Thank you for submitting your enrollment.」
	というページが表示されて先に進めなくなったりします<ハマった。
	先に進めなくなったら右下の「Contact US」からサポートに連絡します(日本語OK)。
	(参考:http://d.hatena.ne.jp/moto_maka/20080930/1222719621)
	ちなみに「Apple ID」と「Enrollment ID」を明記したら5分後にはリンクが
	書かれたHTMLメールが送られてきて先に進むことが出来ました。早っΣ(・д・;)
	なお英語と日本語のメールが一通ずつ届き、日本語メールには購入手続きでの
	先のプロセスで起こるかもしれないエラーに対しても書かれていました。
	(よっぽど再発したんだろうなぁ。じゃあいい加減直せと…)
+[[iPhone Developer Center>http://developer.apple.com/iphone/]]にログインする(アカウントが無ければ作成する)
+「iPhone OS 2.2.1 Downloads」の項からiPhone SDKのインストーラーをダウンロードする(約1.7GB)
+DLしたインストーラーを実行してSDKをインストールする

	先に進むとApple Storeに飛ばされ、カートを見ると
	「iPhone Developer Program Standard 」が追加されています。ちなみに価格は
	「10,800円(税込み)」でした。
	支払いはいつも使ってるApple IDでも良さそうな感じでしたが念のために
**エミュレータによるテストの方法 [#q8743965]
(未記入)

	新規アカウントで登録しましたが、IDCで作成したApple IDでログインすると、
	アカウントの登録情報の「県名」と「フリガナ」で跳ねられますのでそれぞれ
	日本語で書き直します(他はローマ字でOK)。
	(てか同一のApple IDで「IDC」「Apple Store(JP)」「Apple Store(US)」の
	それぞれにログインしてアカウント情報を確認すると、必ず数箇所でエラー
	(日本語が使えないorその逆、USではアメリカの住所しか登録できない)が
	発生します。前述のエラーとかアカウント情報が統一されていないとか
	なんか隅っこ見るとボロボロなのが不安になります。)

3:入金後、ActivationCodeが送られてくるのでアクティベートする
	大体一時間後くらいにアクティベート用のリンクが書かれたHTMLメールが
	届きました<目安は24時間以内らしい<注文確認メールではない。
	それでリンクをクリックしてアクティベートする…と、前述のサポートメールに
	記載されているエラーが表示されましたorz。
	しかたが無いのでそのメールの指示に従って手動アクティベートをメールで
	依頼すると、だいたい2時間後くらいに「調整したので再度アクティベート用の
	リンクを押すように」といった旨のメールが届きました。
	その後、改めてアクティベートリンクを押すとアクティベートが完了します。
	アクティベートが完了すると一通メールが届きます。

4:アクティベート完了後、「iPhone Developer Program」が解禁される
	アクティベート後にiPhone Developer Center
	(http://developer.apple.com/iphone/)にログインすると、右側
	(「iPhone Developer Program」の「Apply now」と書かれていた所)に
	「Program Portal」というボタンが表示されるようになります。
*2:iPhone Developer Programへの参加 [#e0e1e140]
実機に自作アプリケーションをインストールしてテストするには、実機やOSに開発者の各証明書をインストールする必要があります。この証明書を取得するには「iPhone Developer Program」という有償サービスに参加する必要があります。参加費用は「99USD/年」で、支払いはApple Storeからになります。

+年会費の99USDを支払う
++[[iPhone Developer Program Enrollment>http://developer.apple.com/iphone/pgm1/]]に移動し、ログインします。
++&color(red){※注意:};ここから先、途中でキャンセルしたりブラウザを閉じたりすると、次回アクセス時に「Thank you for submitting your enrollment.」というページが表示されて先に進めなくなったりします<自分はこれでハマった。先に進めなくなったら右下の「Contact US」からサポートに連絡すると対処してくれます(日本語OK)([[参考>http://d.hatena.ne.jp/moto_maka/20080930/1222719621]])。ちなみに「Apple ID」と「Enrollment ID」を明記したら5分後にはリンクが書かれたHTMLメールが送られてきて先に進むことが出来ました、早っΣ(・д・;)。メールは英語と日本語のものが一通ずつ届きましたが、日本語のメールにはこの先で起こるであろうエラーに対しても対処方法が書かれていました(よっぽど再発したんだろうなぁ。じゃあいい加減直せと…)。
++先に進むとApple Storeに飛ばされ、カートを見ると「iPhone Developer Program Standard 」が追加されています。価格は「10,800円(税込み)」でした。あとはWebストアの要領で支払いを完了させます。
++&color(red){※注意:};ここでも名前を記入するところがありますが、これはiPhone Developer Centerで作成させたアカウントと一致させたほうが良いです。
++支払い時にiPhone Developer Centerで作成したApple IDでログインした場合、そのまま先に進むとアカウントの登録情報の「県名」と「フリガナ」で跳ねられますので、それぞれ日本語で書き直します(他はローマ字でOK)。(というか同一のApple IDで「iPhone Developer Center」「Apple Store(JP)」「Apple Store(US)」のそれぞれにログインしてアカウント情報を確認すると、必ず数箇所でエラー(日本語が使えないorその逆、USではアメリカの住所しか登録できない)が	発生します。前述のエラーとかアカウント情報が統一されていないとかなんかシステムの隅っこ見るとボロボロなのが不安になります;;)
+入金後、ActivationCodeが送られてくるのでアクティベートする
++大体一時間後くらいにアクティベート用のリンクが書かれたHTMLメールが届きました<目安は24時間以内らしい。そのメールに書かれているリンクをクリックするとアクティベートが完了します。
++ケースによっては前述のメールに書かれたエラーが発生してアクティベーションできないことがあります。その場合はメールに書かれた指示に従って、サポートにメールします。大体2時間後くらいに「調整したので再度アクティベート用のリンクを押すように」といった旨のメールが届きます。その後、改めてアクティベートリンクを押すとアクティベートが完了します。
++アクティベートが完了するとメールが一通届きます。
+アクティベート完了後、「iPhone Developer Program」が解禁される
++アクティベート後に[[iPhone Developer Center>http://developer.apple.com/iphone/]]にログインすると右側(「iPhone Developer Program」の「Apply now」と書かれていた辺り)に「Program Portal」というボタンが表示されるようになります。


(証明書の準備とインストール)
1:キーチェーンアクセスの起動と証明書申請ファイルの作成
	「アプリケーション→ユーティリティ→キーチェーンアクセス」を起動する。
	「キーチェーンアクセス→証明書アシスタント→認証局に証明書を要求」を選択
		ユーザーのメールアドレス→Apple IDで登録したメールアドレス
		コモンネーム→((Apple IDで登録した名前(アルファベット)))
			重要:Apple IDの名前ではなく99USD支払ったときに記述した名前!
				この名前はTeamに表示される名前になる。

		CAのメールアドレス→空欄で可
		要求の処理→ディスクに保存&鍵ペア情報を指定にチェック
	続けるを押した後は保存場所は任意で、鍵のサイズは「2048」、
	アルゴリズムは「RSA」を選択

2:IDPにログインして証明書申請ファイルを提出
	ログイン後、左側にある「Certificate」を選択
	「Development」タブを選択してから「Add Certificate」を押す。
	証明書申請ファイルを選択してから「Submit」ボタンを押す。
	Actionsが「Approve」であればそれをクリックすると「Download」に切り替わる
	ので、そこから証明書をダウンロードする
	さらに「WWDR Intermediate Certificate」もダウンロードする。
	
3:入手した2つの証明書をOSにインストールする。
	登録はダウンロードした2つの証明書をそれぞれダブルクリックすることで実行可能。
	登録時に「キーチェーン」は「システム」を選択すること。
*3:実機テストの準備(証明書の作成とインストール) [#l722bee0]
ここも詰まりやすいプロセスが多いので注意が必要です。上手くいかなかったらこの項の最初からやり直すことをお勧めします。


**1:証明書の準備とインストール [#w1d9f15d]
開発者の自己証明書をIDP(iPhone Developer Program)から取得し、OSにインストールします。自己証明書を申請するにはOSのアプリケーションを使って申請書を作る必要があります。

(テスト用実機の登録)
1:IDPの左側にある「Devices」を選択する
2:「Manage」タブを選択してから「Add Device」を選択する。
	「Device Name」は任意、「Device ID」はMacにiPhoneを接続してから
	XCodeを起動、「ウィンドウ→オーガナイザ」で表示される情報の「Identifier」を
	記入。
+キーチェーンアクセスの起動と証明書申請ファイルの作成
++「アプリケーション→ユーティリティ→キーチェーンアクセス」を起動します。
++「キーチェーンアクセス→証明書アシスタント→認証局に証明書を要求」を選択します。ここでの記入事項は以下の通りです。
+++ユーザーのメールアドレス:Apple IDで登録したメールアドレス
+++コモンネーム:IDCのTermで表示される名前(&color(red){重要:};コモンネームはApple IDの名前ではなく99USD支払ったときに記述した名前になります。この名前はTermにも表示されます)
+++CAのメールアドレス:空欄
+++要求の処理:ディスクに保存&鍵ペア情報を指定にチェック
++続けるを押した後は保存場所は任意で、鍵のサイズは「2048」、アルゴリズムは「RSA」を選択します。
+IDPにログインして証明書申請ファイルを提出する
++IDPにログイン後、左側にある「Certificate」を選択します。
++「Development」タブを選択してから「Add Certificate」を押すします。
++先ほど作成した証明書申請ファイルを選択してから「Submit」ボタンを押します。
++Actionsが「Approve」になったらそれをクリックします。しばらくしてからページをリロードすると「Download」に切り替わります。
++「Download」をクリックして証明書をダウンロードします。
++さらに上のリンクから「WWDR Intermediate Certificate」もダウンロードします。(&color(red){忘れずに!};)
+入手した2つの証明書をOSにインストールする
++登録はダウンロードした2つの証明書をそれぞれダブルクリックするだけで実行できます。
++登録時に「キーチェーン」は「システム」を選択します。


**2:デバイスIDの登録 [#dbdf07b8]
後述のプロビジョニングプロファイル(これはターゲットデバイス(テストに使用する端末)にインストールされます)にはターゲットデバイスの情報も含まれます。ターゲットデバイス情報はXCodeのオーガナイザで確認します。

(App IDの登録)
1:IDPの左側にある「App IDs」を選択する
2:「Manege」タブを選択してから「Add ID」を押す。
	「App ID Name」はただの登録用の名前で任意、「App ID」は例えば「com.(ユーザ名).*」など。
	App IDの「*」はワイルドカードの意で、このように指定しておくと
	アプリケーション毎にApp IDを登録する必要が無くなるらしい。
+ターゲットデバイスをPCと接続する
+XCodeを起動し、「ウィンドウ→オーガナイザ」を選択し、ターゲットデバイス情報の「Identifier」を控える
+IDPのメニューから「Devices」を選択する
+「Manage」タブを選択してから「Add Device」を選択する
++「Device Name」は任意、「Device ID」は先ほどの「Identifier」を入力します。


**3:アプリケーションIDの登録 [#zea731d1]
(App IDの役割は不明、とりあえず登録しましょう(ぉぃ)

(Provisioning Profileの作成と登録)
1:IDPの左側にある「Provisioning」を選択
2:「Development」タブを選択してから「Add Profile」を選択する
	「Profile Name」は任意
	「Certificate」は自分のApple IDが表示されていることを確認してからチェック
	「App ID」は前項で登録したIDを選択
	「Device」は前項で登録したDeviceにチェック
3:Submitを押して数分経過してから同ページをリロードするとダウンロードボタンが表示。
	プロファイルをダウンロードする。
4:MacにiPhoneを接続し、XCodeを起動後「ウィンドウ→オーガナイザ」を選択する。
5:接続中のデバイスを選択肢、「Provisioning」の項目で「+」を押して
	プロファイルを選択する。
+IDPのメニューから「App IDs」を選択する
+「Manege」タブを選択してから「Add ID」を押す。
++「App ID Name」は任意です。
++「App ID」はとりあえず「*」(ワイルドカードの意)を入力しておけばOKです。



(実機上で動作させる)
1:MacとiPhoneを接続する。
2:任意のプロジェクトを開く
3:左のメニュー内のターゲットからプロジェクトをダブルクリックして情報を開く
4:「ビルド」タブ内、「コード署名ID→Any iPhone OS Device」の値を
	「iPhone Developer: (ユーザー名)」に設定する。
	ここでプロビジョニングプロファイルが正常であればすぐ下に
	「コード署名プロビジョニングプロファイル」」の設定項目が表示されるという
	情報がありますが、うちの環境では表示されませんでした。
6:アクティブSDKが「Device」のものを選択して、「ビルドして実行」を実行する。
	初めての場合は証明書を使用するかと聞かれるので「常に使用する」を選択する。
	成功すると実機テストができるようになります。
	ここで「0xE8000001」や「0xE800003A」といったエラーが表示される場合は
	プロビジョニングプロファイルが正常に作成されていない、もしくはXCodeが正常に
	読み込んでいない(ここ参照)と推測されます。
**4:プロビジョニングプロファイルの作成と登録 [#be51b4bf]
プロビジョニングプロファイルには自己証明書とデバイスID、アプリケーションIDが含まれます。このファイルはターゲットデバイスにインストールされます(iPhoneであれば「設定→一般→プロファイル」で確認と削除が可能です)。基本的にこのファイルに誤りがあると実機テストを実行した時にエラーになります。

+IDPのメニューから「Provisioning」を選択
+「Development」タブを選択してから「Add Profile」を選択する
++「Profile Name」は任意です。
++「Certificate」は自分のApple IDが表示されていることを確認してからチェックします。
++「App ID」は前項で登録したアプリケーションIDを選択します。
++「Device」は前項で登録したデバイスIDにチェックします。
+Submitを押して数分経過してから同ページをリロードするとダウンロードボタンが表示されるのでプロファイルをダウンロードする
+PCにターゲットデバイスを接続し、XCodeを起動後「ウィンドウ→オーガナイザ」を選択する
+接続中のデバイスを選択し、「Provisioning」の項目で「+」を押してプロファイルを選択する
+プロビジョニングプロファイルが正常であればターゲットデバイスにインストールされる


自分も一発ではいけず、色々いじりまわしていたら通るようになりました<原因不明。
ですが、一つ気になったのが、「iPhone Developer Centerで作成したアカウントの
ユーザー名」と「iPhone Developer ProgramのTermに表示されるユーザー名
(これは99USDの入金時に記入する名前。基本的にはアカウントのユーザー名が
デフォルトになっているが、入金時に変更することができる)」が違っていると
うまくいかなかったりするかもしれません。
#自分は不覚にも性の最後の母音を付け足してしまった

本当にこれが原因かははっきりしませんでしたが、ユーザーサポートに「これがずれてる
から実機テストができない。これらの名前を一致するようにしてくれ」とメールしたら
1時間後くらいに「本国に連絡するから連絡を待ってくれ」というメールが届き、
さらに2~3時間後にTermを確認したら(連絡がきてないのに)Termの方のユーザー名が
変更されていました(いいのか;;)。
*4:実機テストの実行 [#q6e7a001]
以上の準備が完了したら実機テストを行います。

その後、一からプロビジョニングプロファイルを作成したら無事に実機テストが
できるようになりました。
ということで念のためユーザー名は一致させておく方が無難です。
+PCとターゲットデバイス(プロビジョニングプロファイルインストール済み)を接続する
+任意のプロジェクトを開く
+XCodeで開かれたプロジェクトの左側のメニューの「ターゲット」の項からプロジェクトをダブルクリックして「情報」を開く
+「ビルド」タブ内、「コード署名ID→Any iPhone OS Device」の値を「iPhone Developer: (ユーザー名)」に設定する
+「アクティブSDK」が「Device」に属するものを選択し、「ビルドして実行」を実行する
++初めての場合は証明書を使用するかと聞かれるので「常に使用する」を選択します。
+成功すると実機テストが開始される
++ここで「0xE8000001」や「0xE800003A」といったエラーが表示される場合はプロビジョニングプロファイルが正常に作成されていない、もしくはXCodeがプロビジョニングプロファイルを正常に認識していない([[参考ページ>http://blog.s21g.com/articles/1033]])と推測されます。



参考:
http://think-now.jugem.jp/?eid=8
http://www.codeanimato.com/blog/archives/2008/10/iphone-2.html
http://blog.s21g.com/articles/1104
http://blog.s21g.com/articles/1033
http://d.hatena.ne.jp/marutanm/20081121
*おまけ(?)情報 [#l0ee3221]
実機テストですが自分も例に漏れず一発では実行できず、色々いじりまわしていたら通るようになりました。ですが、そこで気になったのが「iPhone Developer Centerで作成したアカウントのユーザー名」と「iPhone Developer ProgramのTermに表示されるユーザー名(これは99USDを支払う時に記入する名前。基本的にはアカウントのユーザー名がデフォルトになっているが、入金時に変更することができる)」が違っているとうまくいかなかったりするかもしれません。<自分は不覚にも99USDを支払うときに性の最後の母音を付け足してしまいました

本当にこれが原因であるかは分からなかったのですが、とりあえずユーザーサポートに「この情報(名前)が不一致なので実機テストができない。これらの名前を一致するようにして欲しい。」と(確証が無いのに)メールを送ったら1時間後くらいに「本国に連絡するから連絡を待ってくれ」という返事が返ってきました。さらに2~3時間後にTermを確認したら(連絡がきてないのに)Termの方のユーザー名が変更されていました(いいのか;;)。

その後、一からプロビジョニングプロファイルを作成したら無事に実機テストができるようになりました。

んぱか:iPhoneプログラミングメモ
http://www.saturn.dti.ne.jp/~npaka/iphone/index.html
結局これが原因だったのかははっきりしていないのですが、念のためユーザー名は一致させておく方が無難だと思います。

実践! iPhoneアプリ開発
http://journal.mycom.co.jp/column/iphone/index.html


*参考リンク [#ze62bff4]
**開発環境構築関係 [#x87a5356]
-[[http://think-now.jugem.jp/?eid=8]]
-[[http://www.codeanimato.com/blog/archives/2008/10/iphone-2.html]]
-[[http://blog.s21g.com/articles/1104]]
-[[http://blog.s21g.com/articles/1033]]
-[[http://d.hatena.ne.jp/marutanm/20081121]]

**プログラミング関係 [#p1e748e9]
-[[んぱか:iPhoneプログラミングメモ>http://www.saturn.dti.ne.jp/~npaka/iphone/index.html]]
-[[実践! iPhoneアプリ開発>http://journal.mycom.co.jp/column/iphone/index.html]]
-[[これ、俺ならこう使う(6):iPhoneアプリケーションをApp Storeに登録してみた>http://www.atmarkit.co.jp/fwcr/column/ore06/01.html]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   最終更新のRSS