HOMEに戻る(ブログのみを御覧の方専用)
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

カテゴリ:iPhoneアプリ開発( 2 )
iOSアプリを実機で動かす
iOSアプリを自作し、App Storeでダウンロードできるようにするには、事前に実機で動作確認します。
そのためにはまずiOS Developer Programに登録します。

その後、アプリを実機で動作させるまでの手順でいくつか引っかかったので、それをメモしておきます。
実施したのは以下の環境です。

実機:iPod Touch (OS:4.3.3)
アプリ:iOS4以上向け


基本的に以下のサイトで紹介されてる通りに実行すれば問題ありません。
http://kentaro-shimizu.com/lecture/iphone/step3.html

このサイトによりますと、大きく分けると手順は次のとおりです。

1. 証明書を作成する
2. iPhone Developer Programに証明書要求
3. 証明書をMacにインストール
4. iPhone/iPod touchのデバイス情報を登録する
5. AppIDを取得する
6. Provisioning Profileの作成
7. XCodeでProvisioning Profileの設定
8. コード署名IDの設定
9. いざ実機テスト

しかしこれは少し古い情報らしく、紹介されている通りに実行しても以下のエラーが出ました。

The executable was signed with invalid entitlements.
The entitlements specified in your application's Code Signing Entitlements file do not match those specified in your provisioning profile.
0xE8008016

こちらの解決策を探しても、大体「クリーンインストールしろ」しかなかったのですが、クリーンインストールしても解決しません。
ぼくの場合、オーガナイザの左ペインのDeveloper Profileに、余計なプロファイルを登録していたのが原因でした。
(これは以前紹介した、iOS Developer Programに登録せずに実機で動作確認させるために作ったダミーのプロファイル)
なので、それを削除して正しいプロファイルだけを登録してビルドすると、このエラーは消えました。


これで、ビルドして実機にアップロードでき…ません!orz
次のエラー。

The binary you uploaded was invalid. The application-identifier entitlement is not formatted correctly; it should contain your 10-character App ID Seed, followed by a dot, followed by your bundle identifier.

App IDを登録する際、com.mycompany.appnameのような名前で登録すると思います。
これで作成したプロファイルを、オーガナイザのProvisioning ProfilesのApp Identifierで確認すると、comの前にランダム文字列がくっついているのがわかります。

1234567890.com.mycompany.appname

この、新たにくっついた10文字の情報がアプリに無いよ!というのが、上記のエラーなんだと思います。

解決方法。
Entitlement.plist(iOS SDK 4.0以上だと、xcentファイル?)に上記情報を付け足します。
ファイルの場所は以下です。
/Developer/(任意のディレクトリ)/(プロジェクト名)/build/(プロジェクト名).build/(Debug or Release)-iphoneos/(プロジェクト名).build/(プロジェクト名).xcent

このファイルの、以下の赤字の箇所を、先ほどの10文字くっついたApp IDに書き換えます。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>XXXXXXXX.com.mycompany.appname</string>
<key>get-task-allow</key>
<false/>
<key>keychain-access-groups</key>
<array>
<string>XXXXXXXX.com.mycompany.appname</string>
</array>
</dict>
</plist>

次に、アプリ内のBundle情報も書き換えます。
Xcodeの左ペインの[Resources]内にある(プロジェクト名)-Info.plistというファイルを選択します。
すると右ペインに情報が表示され、このBundle identifierの先頭にも、先ほどの10文字を追加します。

以上でこのエラーは解決できるはず。


これでひとまず、実機にアップロードでき、動作確認することができました!
いやー長かった…。
[PR]
by icemintken | 2012-02-19 16:25 | iPhoneアプリ開発
iPhone Developer Programに登録せずにiPhone4/iPod touch4で実機テストするためのメモ
自分用メモです。

iPhone4/iPod touch4向けのアプリを作成し、App Storeに登録するにはお金がかかります。
そのために登録する必要があるのがiPhone Developer Programです。(1年契約で1万円程だった記憶)

App Storeに登録するのにお金がかかるのはわかる。
でも実機を使ってテストするのにもそのProgramに登録する必要があるって、それはおかしいんじゃない!?
しかもカメラアプリなど、実機でしかテストできないアプリを作ろうものなら、シミュレータでのテストなんて全くできないじゃないですか!

こんなことでいちいちお金払ってられるかジョブズめ、というわけで以下、上記のProgramに登録せずに実機テストできるようになるまでのメモです。
アプリ開発は基本的にMacで行うので、すべてMacのみで完結できるように書いてあります。

<環境>
iPod touch4 (FW:4.3.3)
Mac OS X 10.6

<手順>
1. iPod touchをJail Break(脱獄)する。
 4.3.3では以下を参考にしました。
[iOS] iPhone iOS 4.3.3 対応 “完全”脱獄ツール “Redsn0w 0.9.6rc16″

2. 自己証明書を作成し、Xcodeに登録する。
 キーチェーンアクセスから、キーチェーンアクセス -> 証明書アシスタント -> 証明書を作成
 名前:iPhone Developer
 固有名のタイプ:自己証明ルート
 証明書のタイプ:コード署名
 デフォルトを無効化:チェックする

3. Xcodeで"Release", "Device"の設定でビルド。
 すると"実行可能ファイル"にビルドされるので、それを実機に移動したい、でもまだ出来ない。

4. 実機でvsftpdを動かす
 WinならiFunBoxで簡単にファイルを移行できるけどMacでは使えない。
 MacでもiPhone Explorerなどがあるけど、iPod touch4では動作が不安定でいまいちでした。
 じゃあもうFTPにしちゃおうと思い、vsftpdを。

 しかしvsftpdの設定をするにはTerminalが必要となる。
 iOS4ではMobile Terminalをそのままインストールできないようなので、まず最初に手動でMobile Terminalをインストールする。

4-1. Mobile Terminalを手動でインストールする。
  iPhone4 MobileTerminalは自分でインストールすればiOS4.3.2(4.3.3)で使えます!の巻
  ここを参考にしました。
  要は、次の2ステップを踏めばOK。
  
  ・MobileTerminal_520-1_iphoneos-arm.debをダウンロード。
  ・iFunBoxでCydia App Install配下にコピー。
  ※すみません、ここだけWinじゃないとできません。やっぱりiFunBox便利。

4-2. vsftpdをインストールする。
  vsftpd - iPhoneでFTPサーバーを動かす
  
  インストール後にsuでrootになりますが、rootユーザ、mobileユーザのデフォルトパスワードはalpine。
  Mobile Terminalインストール後、セキュリティ対策のためにpasswdコマンドで変更した方が良いです。

4-3. GUIで手軽にvsftpdのON/OFFを切り替えられるようにする。
  Vsftpd - SBSettings Toggle
  ここを参考にしました。
  
  なお、SBSettings画面は、ホーム画面の上の黒いバーをスライドすると出てきます。

4-4. FileZilla等FTPクライアントソフトをMacに入れて、実機にFTPアクセスできることを確認

5. appファイルを配置。
 FTPでアクセス成功したら、ビルド済みのappファイルを置きます。
 置く場所は、スマートではないのですが以下の場所に。
  /Applications
 
 本当はユーザDir下のApplicationsに入れたかったのですが、iFunBoxじゃないと暗号化されたような文字列になってしまい、うまく入れることができませんでした。

6. 実機のホーム画面を確認
 転送したアプリがホーム画面に表示されていることを確認します。
 表示されていない場合、実機を再起動することで再表示されると思います。
[PR]
by icemintken | 2011-05-21 00:37 | iPhoneアプリ開発


その他のジャンル

ファン

記事ランキング

ブログジャンル

画像一覧