[iOS6追記]自作iPhoneアプリをDevelopper登録せずに実機で動かす方法

2013年2月7日

iOS6、XCode4.6について追記しました。
iOS5、XCode4.2について追記しました。

経緯

以前、ドコモのiアプリを作っていたこともあり、最近iPhoneのアプリを作り始めた。エミュレーター?で動作確認はできるが、実機にインストールするにはDeveloper登録が必要である。年間1万円。

やはり実機で気楽に試せないのはなぁ…。

ということで、アプリ作成の教本をそっちのけに、実機インストールする方法を探していた。もちろんAppSyncというアプリを使わない方法を。

※いつも通り知識なしの私がググりまくって見つけた方法なので、間違っていたり、無駄な操作が入っていたり、質問されても「なにそれ?」ってなったりするかもしれません。自己責任でお願いします。
Jailbreak環境が必要です。

参考にさせていただいたサイト

CODEOPFER
http://codeopfer.de/?p=23

方法

1.証明書を作成する。

アプリケーションのユーティリティから、キーチェーンアクセスを開き、証明書を作成。

スクリーンショット 2011-08-19 11.59.47

名前には適当な名前をアルファベットで入力し、固有名のタイプは「自己署名ルート」、証明書のタイプは「コード署名」、「デフォルトを無効化」にチェック。

スクリーンショット 2011-08-19 12.01.42

シリアル番号を適当に入力し、有効期限も適当に入力する。

スクリーンショット 2011-08-19 12.02.24

「続ける」を押しまくって完成。

スクリーンショット 2011-08-19 12.03.00

ここまでの作業は最初の一回だけでよい。

2.Xcodeでアプリのプロジェクトを作成する

アプリの署名の設定を、すべて「Don’t Code Sign」にする。
一旦保存してXcodeを終了する。

スクリーンショット 2011-08-19 12.27.07

スクリーンショット 2011-08-19 12.27.35

SDKSettings.plistの編集

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.X.sdk
(Xcode4.6の場合は
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.X.sdk
)

にアクセスし、SDKSettings.plistをデスクトップにコピーアンドペーストする。

スクリーンショット 2011-08-19 11.51.45

CODE_SIGNING_REQUIREDをYESからNOに変更する。

スクリーンショット 2011-08-19 11.52.43

デスクトップから元の場所に戻す。警告がでるが、かまわず認証をクリック!

スクリーンショット 2011-08-19 11.54.11

3.アプリをビルドする

Xcodeを開き、プロジェクトを開く。左上をiOS Deviceにする。(iPhoneを繋いでいれば、自分のiデバイスの名前になる。)そしてメニューバーのProduct>Buildからビルド。

スクリーンショット 2011-08-19 12.26.09

アプリをビルドすると、アプリ名.appが赤文字から黒文字に変わり、Finderで開けるようになる。

スクリーンショット 2011-08-19 12.25.36

スクリーンショット 2011-08-19 12.29.42

スクリーンショット 2011-08-19 12.30.01

4.署名

Macでの作業も終盤。Terminalを開き、
codesign –fs “<証明書の名前>” /アプリ名.appの場所/アプリ名.app/アプリ名
と打つ。

もちろん大変なので、”<証明書の名前>”以降はFinderからアプリ名.appをドラッグアンドドロップ。最後にアプリ名をつけてEnterを押せばいい。

スクリーンショット 2011-08-19 12.35.47

スクリーンショット 2011-08-19 12.34.28

常に許可、または許可

スクリーンショット 2011-08-19 12.36.10

エラーが出なければOK。

[追記]Xcode4.6、MountainLionの環境でobject file format unrecognized, invalid, or unsuitableエラーが出る場合は
export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate"
実行しておく。
Code Signing Error : object file format unrecognized, invalid, or unsuitableを参考にしました。

5.iPhone

アプリ名.appをiFunboxやiPhoneExplorerでiPhoneの/Applicationsに移動し、Respring。

この状態ではまだアプリは起動しないので、アプリ内のファイルすべてに実行権を与えてやる。iFileでもできるが、面倒くさいので、mobileterminalで一気にやる。

suでrootにログインし(初期パスワードはalpine)、cdコマンドで/Applicationsに移動する。

chmod 0775 –R アプリ名.app

とコマンドを打つ。

写真 11-08-19 13 15 00

これでアプリが起動するはずだ。