XcodeからビルドしてiPhone実機へ転送し実行するまでの手順

例によってメモ程度に簡単にあらすじをおいつつはまったところを重点的に。
詳しくは参考リンクより解説されているサイトを参照してくだし。

iPhone SDKのインストール

iPhone Dev CenterよりSDK3.0をダウンロード&インストール。
ここまででシミュレータでの開発と動作確認は可能。
以後実機で動かすためにはiDPに登録しないといけない。
登録してないと、DevCenterの右側に99ドル払って開発しましょうメッセージが出ています。

Certification(証明書の発行とか認証とか)

iPhone Developer Programに登録していると、iPhone Dev Centerの右側にiPhone Developer Program Portalへの入り口が出てくるのでポータルへ入る。
その後左のタブからCertificatesを選んで、How toの通りに順次やっていく。

ここで一つはまるのが、個人開発者の場合は自分が全ての権限を持っているけども
チーム開発している場合、RoleがMemberでは証明書の要求に対して承認が出来ない。
なのでAgent(登録者)のアカウントから作業アカウントをAdminに格上げしてもらうか、
ここで行った証明書の要求の承認をAdmin/Agentに行ってもらわないといけない。
とりあえずAdminであればStatus「Pending Approval」からApproveすると、「Pending Issued」になり、数分するとIssuedされCerファイルをDLできる。
というようにAppleIDに対してRoleがAgent/Admin/Memberの三つあるのを知らなくて1回目のちょいハマりポイントでした。

それとWWDR intermediate certificateというのもDLしてキーチェーンに登録しておく。

Deviceの登録

開発機を登録します。Xcodeのオーガナイザから40桁のIDをコピペして適当な名前をつける感じで。
ここで複数の開発機を登録できるみたい。とりあえず手元にあった3Gと3GSの二つを登録してみたけども、双方で動作確認することができた。

App IDs

ここの説明をあまり読んでないけど、ユニークなアプリケーションのIDをつけましょうってことらしい。
いまのところまだ公開/配布までは考えてないので適当な名前とPrefixはRandomにGenerate
Suffixは「*」にしておきました。(本来はExampleにあるようにcom.domainname.appnameのようにすべき?

Provisioning

ここが一番のハマりポイントでした。
ProfileNameを適当につけてCertificatesから自分の名前にチェックをいれてAppIDもさっき作ったものをチェックし、
登録したDeviceにチェックいれてSubmitするとしばらくPendingになって、DLできるようになる。

ここまではいいんだけど、それをXcodeのオーガナイザで登録するところでハマる。
オーガナイザのDevicesに接続したiPhoneが表示されるのでProvisioningに+を押して、
先ほどDLした〜〜〜.mobileprovisioningファイルを選択する。

すると実機より、設定→一般→プロファイルに先ほど作った名前で登録されていることがわかる。
(検証済みになってる。)

サンプルプロジェクトを開いて(あるいは新規作成して)ビルド&実行。

Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.HelloWorld' could not be found

このエラーの解決に時間がかかった。

プロジェクトからプロジェクトの設定の編集(あるいはプロジェクト名を右クリックして情報をみる)から
コード署名IDの部分のAny iPhone Deviceの値のiPhone Developerを変更しようとしてもその他しか出てこない。
どうやっても編集できず、どうやったらProvisioningが適用できるのかわからず3時間ほど悩む。

で、どうやらオーガナイザのDevicesの下にあるIPHONE DEVELOPMENTのProvisioning Profilesになにも入ってないことに気づく。
~/Library/MobileDevice/Provisioning Profiles/も作成されてないことに気づく。

ここに登録されるにはどうしたらいいのかよくわからないのだけど、どうやら単純にダブルクリックすればいけるらしい(オーガナイザを開いた状態でかな?)。
Drag&Dropでもいけるかもしれない。
無事XcodeにProvisioning Profilesが登録されたら、ビルド&実行(左上がSimulatorでなくDeviceで。)すると実機に転送され、動いた!

ただファイルをダブルクリックするだけでよかったのに随分時間がかかってしまった。

2009-06-27 - io_oの日記 / iOS Dev(iPhone,iPad)
最終的にこちらの記事で解決しました。

http://www.codeanimato.com/blog/archives/2008/10/iphone-2.html
こちらでもコメント欄で上記エラーについてのやり取りが。

また以下でも詳しい実機での実行手順が解説されている。
iPhone SDK: Program Portalの解説PDFその1
2008-09-11