※この記事は 2016年の C++ Boot Camp Day4 で紹介した内容を Xcode8 のスクリーンショットで再編集したものです。
ビルドしたアプリを iOS の実機にデプロイするには、原則として Apple Developer Program(以後、ADP と表記)の加入が必要です。これは Xcode を使う場合でも、RAD Studio / Delphi / C++Builder を使う場合でも同じです。しかし Xcode7 以降では ADP に加入していない場合でも所定の手順で環境構築することにより、ビルドしたアプリを目の前の実機にデプロイすることが可能となっています。
そして、RAD Studio / Delphi / C++Builder でも、この設定に相乗りする形で開発したアプリを実機にデプロイ可能です。
しかしながら、このための環境構築には少々の手間がかかる上に自由度は低く、本格的な開発には向きません。ADP に加入したほうが絶対にラクです。しかしながら、初めて iOS アプリを開発する方にとっては ADP の年費用を捻出するのは案外ハードルが高いものです。
そこでこの記事では ADP 非加入の方が Xcode8 で 実機デプロイするための手順をスクリーンショット入りで説明します。なお、Delphi / C++Builder のユーザがモバイル向け開発を行うには Mobile Add-on Pack が必要です。お手元の環境がモバイル向け開発に対応していない場合は、参考資料としてお目通しいただければと思います。以下では Xcode インストール後の初回起動からの流れで手順を説明しています。
Table of Contents
作業の流れ
基本的な流れは以下の通りです。これをなんとなく理解した上で記事をお読みください。
- XcodeでApple Developer Program 非加入時向けの設定を行う
- 空のプロジェクトをビルドして実機に配備する
- 配備したアプリを実行できるようにするために、アプリの開発者を信頼するための設定を実機側で行う
- RAD Studio/Delphi/C++BuilderからApple Developer Program 非加入時に実機にアプリをデプロイするためにプロジェクトのオプションを修正する
- RAD Studio/Delphi/C++Builderからビルドしたアプリを実機にデプロイして実行する
注意事項
- Xcodeの起動前に、iOSの実機をMacにLightningケーブルで接続しておいてください。
実機へのデプロイでは実機に関するSymbol fileがXcode上にセットアップされていることが必要です。この作業はXcodeが起動した状態で実機を接続するだけなのですが、しかし数分程度の時間が掛かります。そこでXcodeのビルド環境を整える間にSymbol fileの処理を並行して行わせるために、予め実機をMacに接続しておくわけです。なお Symbol file の処理は実機のiOSのバージョンが変わるたびに行わねばならない場合があります。iOSのバージョンを上げたら RAD Studio / Delphi / C++Builder でのビルドが通らない、という場合は、Xcode でアプリをビルドできるかどうかを確認するとよいでしょう。
Xcode8の初回起動時画面
初回起動時には License Agreement が表示されます。 Agree して先に進みます。
追加コンポーネントのインストール
初回起動時には追加のコンポーネントのインストールを求められます。 Quitで抜けてしまうと何も始まらないので、Installを選びます。
Xcode起動後の画面
Create a new Xcode project を選択して先に進みます。
プロジェクトテンプレートの選択
何を選んでもよいのですけど、もっともシンプルな Single View Application を選んでみます。
プロジェクト情報の入力
Project Name, Organization Name, Organization Identifier などを入力します。ここで重要なのは「自動的に決定される Bundle Identifier の文字列は、RAD Studio/Delphi/C++Builderからのデプロイのときにも使う」ことです。Apple Developer Programu に非加入の場合は、ここで作成したプロジェクトの Bundle Identifier を間借りする形で RAD Studio / Delphi / C++Builder のプロジェクトを開発することになるのです。なお、Bundle Identifier の情報は Project の Identity 情報からも確認することができます。
保存先の指定
作成したプロジェクトの保存先を聞かれますので、適当な場所にフォルダを作って保存してください。
Xcodeから連絡先へのアクセスの許可
ポップアップにて、連絡先へのアクセスを許可する、しないの選択を求める表示が出ます。これはいずれを選んでも今回の目的の結果に違いは出ません。連絡先へのアクセスを許可すれば共同作業のときに便利になるようですが、許可しなくてもアプリのビルドは行なえます。ここでは「許可しない」を選んでおきます。
開発に使用するAppleIDを設定する
画面中央に Add Account のボタンが表示されていますので、これをクリックして先にすすみます。なお、この時点で実機がXcodeから認識されていれば、画面上部には実機の名前が表示されていて、画面上部中央には “Processing symbol files” と表示されているはずです。この Symbol file の処理には数分ほどかかりますので、この間に AppleID に関する設定を並行して行います。
AppleIDを入力する
実機へのデプロイに紐付けるAppleIDのアカウント情報を入力します。(ここでは AppleID はすでにお持ちのものを使う想定です)
証明書の管理
AppleIDを入力したら、Manage Certificate を実行します。
iOS開発用証明書の生成
実機へのデプロイではiOS Developmentの証明書を作成します。
証明書が生成されたら Done を押してウィンドウを閉じます。
Download All Profiles の実行
Download All Profiles を実行して、このウィンドウを閉じます。
Team の選択
AppleID に関連付けられた Team を選択します。
Xcodeでのビルドの実行
ここまできたら Xcode でのビルドを実行します。なお、”Processing symbol files” が完了していない場合はビルドできませんので、この処理が完了するまで待ってビルドします。
キーチェーンへのアクセスを許可する
証明書に関する情報はキーチェーンに保存されています。実機へのデプロイでは Xcode からこれを参照する必要がありますので、「常に許可」 または「許可」を実行します。”許可” を選んだ場合はキーチェーンの参照が必要となる度にこのポップアップが表示されます。「常に許可」を選択しておけばXcodeからのキーチェーン参照時の確認は行われません。
実機でのアプリ実行が失敗するのを調整する
初回のビルドでは、実機へのアプリ配備は行えるものの、以下のような画面となり、アプリの実行には失敗します。Apple Developer Program 非加入時にビルドしたアプリを実機で実行するには、今回作成したAppleIDの開発者情報を、信頼できるものとして設定する必要があるからです。
ここではOKを押してメッセージを閉じたのち、実機側の設定にて開発者情報を信頼するようにします。
実機の設定アプリを開き……
「一般」より……
「プロファイルとデバイス管理」を選び……
デベロッパAppに表示されているAppleIDを選択します。
すると「(AppleID)を信頼」という表示がありますので、これをタップします。
確認のポップアップが出ますので、ここでも「信頼」を選びます。
これで Apple Developer Program に非加入でも Xcode でビルドしたアプリが実機で動くようになります。
RAD Studio/Delphi/C++Builderから実機デプロイするためにプロジェクトの設定を修正する
ここからが、この記事の本題です。
Apple Developer Program 非加入時にRAD Studio/Delphi/C++Builderから実機向けにデプロイするには、プロジェクトのオプションのうち “CFBundleIdentifier” の文字列をXcodeで作成した空のプロジェクトのBundle Identifyer と同じ文字列にしておく必要があります。これにより、Xcodeで作成したビルド設定に相乗りする形でRADStudio/Delpih/C++Builderから実機向けにデプロイできるようになります。
実機デプロイの例
画面上にボタンを1つ配置して、ボタンを押すとOSのバージョン情報を表示するアプリを作ってみました。まずはWindowsでの実行例。
同じアプリをiOSにデプロイすると、次のような表示となりました。
このような手順を踏むことで、Apple Developer Program に加入していない場合でも RAD Studio / Delphi / C++Builder でビルドしたアプリを iOS の実機で動かすことができるようになります。
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition