[iOS6追記]自作iPhoneアプリをDevelopper登録せずに実機で動かす方法
iOS6、XCode4.6について追記しました。
iOS5、XCode4.2について追記しました。
経緯
以前、ドコモのiアプリを作っていたこともあり、最近iPhoneのアプリを作り始めた。エミュレーター?で動作確認はできるが、実機にインストールするにはDeveloper登録が必要である。年間1万円。
やはり実機で気楽に試せないのはなぁ…。
ということで、アプリ作成の教本をそっちのけに、実機インストールする方法を探していた。もちろんAppSyncというアプリを使わない方法を。
※いつも通り知識なしの私がググりまくって見つけた方法なので、間違っていたり、無駄な操作が入っていたり、質問されても「なにそれ?」ってなったりするかもしれません。自己責任でお願いします。
Jailbreak環境が必要です。
参考にさせていただいたサイト
CODEOPFER
http://codeopfer.de/?p=23
方法
1.証明書を作成する。
アプリケーションのユーティリティから、キーチェーンアクセスを開き、証明書を作成。
名前には適当な名前をアルファベットで入力し、固有名のタイプは「自己署名ルート」、証明書のタイプは「コード署名」、「デフォルトを無効化」にチェック。
シリアル番号を適当に入力し、有効期限も適当に入力する。
「続ける」を押しまくって完成。
ここまでの作業は最初の一回だけでよい。
2.Xcodeでアプリのプロジェクトを作成する
アプリの署名の設定を、すべて「Don’t Code Sign」にする。
一旦保存してXcodeを終了する。
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をデスクトップにコピーアンドペーストする。
CODE_SIGNING_REQUIREDをYESからNOに変更する。
デスクトップから元の場所に戻す。警告がでるが、かまわず認証をクリック!
3.アプリをビルドする
Xcodeを開き、プロジェクトを開く。左上をiOS Deviceにする。(iPhoneを繋いでいれば、自分のiデバイスの名前になる。)そしてメニューバーのProduct>Buildからビルド。
アプリをビルドすると、アプリ名.appが赤文字から黒文字に変わり、Finderで開けるようになる。
↓
4.署名
Macでの作業も終盤。Terminalを開き、
codesign –fs “<証明書の名前>” /アプリ名.appの場所/アプリ名.app/アプリ名
と打つ。
もちろん大変なので、”<証明書の名前>”以降はFinderからアプリ名.appをドラッグアンドドロップ。最後にアプリ名をつけてEnterを押せばいい。
常に許可、または許可
エラーが出なければ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
とコマンドを打つ。
これでアプリが起動するはずだ。
ディスカッション
コメント一覧
アプリ作成面白そうですね^^
自分も興味があり作成しようと考えていたこともありましたが
どうにも知識と技術が追いつかず途中で断念。。。
もしまたアプリ作成する時は当記事を参考に起動させてみます^^
PS:ちなみにどのようなアプリを作成なさったのでしょうか?^^
CODE_SIGNING_REQUIREDをYESからNOに変更する。
というところで
The file “SDKSettings.plist” could not be unlocked.
と表示されNOにすることができません。
どうすればわかりますか?
>匿名さんへ
記事にあるように、デスクトップに移動してからNOに変更してください。
finderで表示した際と、ターミナルへドラッグ時に拡張子が.appではなく、.xcodeprojと表示されてしまいます。その状態で実行したのですが、
undle format unrecognized, invalid, or unsuitable
と表示されてキーチェーンへアクセスできませんでした。
どのようにすれば解決できるか分かりますでしょうか?
すばらしい情報をありがとうございます。
MacOS 10.7.4
Xcode 4.2.1
iOS 5.0.1
の環境で動作確認できました。
ただXcode 4.3ではできないようですね。
方法がありましたら、また教えてください。
最新のXcodeでのやり方を追記しました。よかったら参考にしてください。
10.7.4、Xcode4.2.1、iOS5.1で確認できました!
ありがとうございます!
virtualbox osx 10.6.7 xcode 4.2
実機ios5.0.1
で確認できました。
ありがとうございました。
よろしくねっm(。≧Д≦。)m
Developerというフォルダがないのですがどうすればよいですか?教えてください!
ものすごく初歩的なことかもしれませんが、よろしくお願いします。
ターミナルで「codesign –fs “” /アプリ名.appの場所/アプリ名.app/アプリ名」
と入れるとダイアログが出ないで、helpオプションの結果のような表示が出ます。
xxxs-Mac:~ xxx$ codesign -fs “xxx” /Users/xxx/Library/ … /Debug-iphones/xxx.app/xxx
Usage: codesign -s identity [-fv*] …
codesign -v …
codesign -d …
codesign -h pid … # display hosting paths
入力の仕方が間違っているのでしょうか?
10.7.1 / Xcode 4.2.1 / iOS 5.1.1
VMWare Player3.1.4
codesign -s ”証明書名” /
と記述してみてください。
iFunboxやiExploreでのアプリケーションの移動の仕方を詳しく教えていただけるとありがたいです。
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.X.sdk
)
こーゆーのとかってどこに打てばいいんですか?
ピンバック & トラックバック一覧
[…] 自作iPhoneアプリをDevelopper登録せずに実機で動かす方法 – J-Style Hack Blog 何でも自分流にカスタマイズするのが大好きな学生のブログ。 iPhone、Win7、日記等。 […]
[…] http://i.fukajun.net/?p=377 ここのサイトを参考にさせていただきました。 […]
[…] で,後はObjective-Cと同じかと思って [iOS6追記]自作iPhoneアプリをDevelopper登録せずに実機で動かす方法 iOSアプリを無料で実機テストする(要脱獄) などを真似する. […]
[…] http://i.fukajun.net/?p=377 […]