iOS 9以降、App Storeで入手できないアプリを実行するために脱獄する必要がなくなりました。必要なのは、Mac、Xcode 7、コンパイルしたいコード、iOS 9を搭載したiOSデバイス、無料の開発者アカウント、そして少しの時間だけです。これらがすべて揃っていれば、有料の開発者アカウントや脱獄なしで、iPhoneやiPadにアプリをインストールできます。
Xcode 7を使ったアプリのコンパイルは比較的簡単ですが、初めての場合は少し難しいかもしれません。この記事では、Xcode 7を使ってコードをコンパイルし、iOS 9デバイスで実行する方法をご紹介します。また、コンパイル中に発生する可能性のあるエラーや問題についても説明します。
マルチエミュレータ Provenance がリリースされたばかりなので、このチュートリアルではそれをベースとして使ってみるのはどうでしょうか?以下の手順に従うだけで、iPhone や iPad でマルチコンソールエミュレータをすぐに起動できます。
前提条件: iPhone または iPad で iOS 9 を実行している必要があり、「デバイス上でテスト」できる無料の開発者アカウントが必要になります。
ステップ 1: Mac App Store から Xcode 7 をダウンロードします。
ステップ 2: Xcode 7 を起動し、「同意する」をクリックして、コンポーネントのインストールが完了するまで待ちます。
ステップ3:コンパイルしたいコードを探します(通常はGitHub上にあります)。今回はProvenanceを使用します。
ステップ5: HTTPSクローンURLをコピーします。Provenanceの場合はhttps://github.com/jasarien/Provenance.gitです。
ステップ 6: Xcode 7 内で、メニュー バーの [ソース コントロール] をクリックし、[チェックアウト] をクリックします。
ステップ 7:リポジトリの場所ボックスに、ステップ 5 の HTTPS クローン URL を貼り付けて、[次へ] をクリックします。
ステップ8:ブランチ(この場合はMaster)を選択し、「次へ」をクリックします。Xcodeはコンパイルに必要なソースコードをダウンロードします。コードによっては時間がかかる場合がありますので、しばらくお待ちください。ダウンロードが完了すると、Xcodeはソースコードを含む新しいプロジェクトを開きます。
ステップ 9: iOS デバイスを USB 経由で接続します。
ステップ 10:ドロップダウンのデバイス選択メニューで、iPad (シミュレーターではない) を選択します。
ステップ11: Xcode 7がシンボルファイルのインデックス作成と処理を行っている間、しばらくお待ちください。これにも時間がかかる場合がありますので、しばらくお待ちください。完了すると、ステータスが「Ready」と表示されます。
ステップ12: [再生]ボタンをクリックします。「コード署名に失敗しました」というエラーが表示される場合がありますが、問題ありません。[問題を修正]をクリックし、[追加]をクリックして開発者アカウントでログインしてください。有料の開発者アカウントは必要ありませんが、無料の開発者アカウント(Apple ID)が必要です。開発者アカウントをお持ちでない場合は、[プログラムに参加]をクリックして作成してください。
ステップ13:ログインしたら、もう一度「再生」ボタンをクリックしてコンパイルを続行します。「識別子…を持つアプリIDは利用できません。別の文字列を入力してください」というエラーが表示される場合があります。この問題を解決するには、「全般」タブをクリックし、バンドル識別子に一意の名前を付けてください(2つのドットの間の名前を削除し、独自の名前を追加してください。プレフィックスとサフィックスはそのままにしてください)。
ステップ14:もう一度「再生」ボタンをクリックします。コンパイルが完了すると、コンパイルしたアプリがiOSデバイスのホーム画面に表示されます。
ステップ15: iOSデバイスで開発元を信頼し、アプリへのアクセスを許可する必要があります。設定→一般→プロフィールと進み、開発元アプリをタップしてアクセスを許可してください。
ステップ 16:ホーム画面でアプリを起動すると、iOS で使用できるようになります。
これはあくまでも予備的なチュートリアルであり、Xcode 7 を使用して iPhone または iPad でアプリを実行するために必要な基本事項を理解するのに役立ちます。iOS ユーザーにとってこの非常に優れた新機能を最大限に活用する方法については、ビデオ ハウツーを含むより詳細なチュートリアルを後日公開する予定です。
どう思いますか?