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

iPhone
18

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に移動する。

とコマンドを打つ。

写真 11-08-19 13 15 00

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

アプリ作成面白そうですね^^
自分も興味があり作成しようと考えていたこともありましたが
どうにも知識と技術が追いつかず途中で断念。。。
もしまたアプリ作成する時は当記事を参考に起動させてみます^^
PS:ちなみにどのようなアプリを作成なさったのでしょうか?^^

CODE_SIGNING_REQUIREDをYESからNOに変更する。
というところで
The file “SDKSettings.plist” could not be unlocked.
と表示され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でのやり方を追記しました。よかったら参考にしてください。

virtualbox osx 10.6.7 xcode 4.2
実機ios5.0.1
で確認できました。
ありがとうございました。

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

iFunboxやiExploreでのアプリケーションの移動の仕方を詳しく教えていただけるとありがたいです。

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.X.sdk
)

こーゆーのとかってどこに打てばいいんですか?

18件のコメント

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

AppStoreアプリ
「ショートカット」アプリのコマンドで取得したい項目を変数で指定する方法

WorkflowがiOS12で日本語化されましたが、まだまだ日本語の対応が中途半端なようです。 「デ …

AppStoreアプリ
[swift3]WKWebviewの画面をキャプチャする方法[UIImage]

WKWebviewを画面キャプチャする際に躓いたのでメモ。 まずはスクリーンショットをUIImage …

iPhone
iWidgetを作ってみよう

ホーム画面をかっこ良く賑やかにできるiWidgetですが、自作できたら楽しいと思います。 ということ …