みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

iOSアプリを無料で実機テストする (iOS7版) (要脱獄)

自分で作成したiOSアプリを実機で動かすにはAppleのDeveloperプログラムにお金を払うのが一般的ですが,ここでは無料で実機でアプリを動かす方法を紹介します.ただしiOSデバイスを脱獄する必要があります.

以前の記事が古くなったのでiOS7用に新たに書き直しました.

環境

みーがこの記事を書くのに使用したものとそのバージョンは以下のとおりです.これ以外のバージョンでもディレクトリなどを適切に読みかえればうまくいくと思います.

Mac

  • OS X Mavericks 10.9.1
  • Xcode 5.0.2

iPad 2

初回の設定

もしも初めてこの作業をする場合は,以下の作業を予め行っておく必要があります.

  • Certificateの作成
  • Xcodeの設定変更
  • 脱獄したiOSデバイスにOpenSSHをインストール

これらの方法はこちらに書いてありますので,設定をしてください.OpenSSHのインストール方法はこちら[cydia.saurik.com].

Xcodeでアプリをビルド

Xcodeを起動します.

f:id:atsuhiro-me:20151104004332p:plain:w300

ここではMaster-Detail Applicationを選択し,Nextをクリックします.(このチュートリアルではこれを選択していますが,各自適切なものを選択してください.)

f:id:atsuhiro-me:20151104004334p:plain:w300

Product Nameをios7testとし,Company Identifierをnet.atsuhiro-meとしました.それぞれの環境に合わせて設定してください.

f:id:atsuhiro-me:20151104004339p:plain:w300

この状態でアプリケーションはエミュレータにて動作することを確認します.そしてiOSデバイスをUSBでMacに接続して,Xcodeのターゲットを実機に設定します(下図左上の赤矢印).

次にBuild Settings(下図中央の赤矢印) をクリックして,Code SigningのCode Signing IdentityをDon"t Code Signに設定します(下図中央下の赤矢印).

f:id:atsuhiro-me:20151104004344p:plain:w300

メニューバーからProduct > Build For > Runnning とするか,Shift+Cmd+Rを押してビルドします.すると左サイドバーのProductsフォルダーにappがビルドされ赤字から黒字になるのか確認されます.これを右クリックしてShow in Finderをクリックします.するとFinderでappのフォルダーが開かれます.

f:id:atsuhiro-me:20151104004347p:plain:w300

codesignをする

次にappのcodesignをします.これをしないとiOSデバイスでのアプリの認証が失敗し起動しません.

まずターミナルにて先ほどのアプリのフォルダーへcdで移動します.そして以下のコマンドを実行します.

$ export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate"
$ codesign -fs "iOSdev" ios7test.app/

以前のXcodeからcodesign_allocateのパスが変更になったようです.注意してください.(OHO"s Blog の Codesign Useful Info in XCode 5.0.1 より)

"iOSdev"というのは最初に作成したCertificateの名前で,ios7test.app/というのはアプリの名前です.自分の環境に合わせて読み替えて下さい.

ダイアローグが表示されるので,Allowをクリックして完了です.

iOSデバイスにアプリを転送しchmodする

Cyberduckというフリーソフトをダウンロードし,インストールします.SFTPクライアントならなんでも良いのですが,みーはこのソフトがオススメです.

iOSデバイスにてSSHサーバーが動いているのを確認し,iOSデバイスがMacと同じWiFiネットワーク上にあることを確認し,iOSデバイスのIPアドレスを設定から確認して,以下の情報を指定します.

  • SFTP
  • Server:iOSデバイスのIPアドレス
  • Username: root
  • Password: 各自設定したパスワード

パスワードって何?という場合はalpineと入力してください.後でこちらの方法にしたがってSSHのパスワードを変更することを強く推奨します.

f:id:atsuhiro-me:20151104004350p:plain:w300

すると以下のようにiOSデバイスのディレクトリが表示されるので,/Applicationsに移動し,ここに先ほどcodesignしたアプリ(ios7test.app)をアップロードします.

f:id:atsuhiro-me:20151104004352p:plain:w300

その後,アプリ(ios7test.app)を右クリックして,Infoを開き,PermissionタブからPermissionを775に変更し,アプリの本体(ios7test.app/ios7test)のPermissionを775にします.

f:id:atsuhiro-me:20151104004354p:plain:w300

iOSデバイスを再起動すると,下のスクリーンショットのようにアプリが表示されます.

f:id:atsuhiro-me:20151104004357p:plain:w300

起動するとじゃじゃーんと自分のアプリが動きます.

f:id:atsuhiro-me:20151104004403p:plain:w300

こんな感じ.

f:id:atsuhiro-me:20151104004405p:plain:w300

以上です,お疲れ様でした.

なお,この作業を行う上でよく出てくるエラーを,こちらにまとめているので,合わせて参照ください.