iOS デバイスでの iOS アプリケーションの実行

iOS モバイル アプリケーション開発 への移動


iOS デバイスで Delphi または C++ iOS アプリケーションを実行するには、その前に以下の手順を問題なく終わらせる必要があります。

次の図は iOS 開発プロセス(iOS デバイスへの接続を含む)の概念を示したものです。

Win2Mac2iOSDevice.png

iOS デバイス上でのアプリケーション実行手順

Apple 社製 USB ケーブルで iOS デバイスを Mac に接続する
  1. Mac 上でプラットフォーム アシスタントを実行します。
  2. Mac との接続をテストします([接続プロファイル マネージャ]ページ)。
  3. Apple 社標準 USB ケーブル(右の画像)で iOS デバイス(iPhone や iPad など)を Mac に接続します。
    メモ:
    • 同時に複数の iOS デバイスを Mac に接続できません。
    • iOS SDK のバージョンが iOS デバイスのバージョンと一致しなくてもかまわない場合があります。たとえば、アプリケーションを iOS 6.x SDK でビルドして、5.x デバイスで実行できます。
  4. RAD Studio で以下の作業を行います。
    1. [プロジェクト マネージャ][ターゲット プラットフォーム]ノードを展開し、[iOS デバイス]ターゲット プラットフォームをダブルクリックして、そのプラットフォームを選択します。選択したターゲット プラットフォームが太字で表示されます。
    2. [ターゲット プラットフォーム]ノードで[iOS デバイス]ノード、[構成]ノードと展開し、プラットフォーム構成[Debug]をダブルクリックして選択します。選択したプラットフォーム構成が太字で表示されます。
      メモ:プラットフォーム構成が[アドホック]および[アプリケーション ストア]の場合には、RAD Studio から直接 iOS デバイスでアプリケーションを実行できません。アドホック配布用に配置したアプリケーションを実行する方法は、「iOS アプリケーションをアドホック配布用に配置する」を参照してください。App Store 用にビルドしたアプリケーションを実行するには、そのアプリケーションを App Store からインストールする必要があります。
    3. アプリケーションを実行します。デバッガは使用しても([実行|実行)使用しなくても([実行|デバッガを使わずに実行)かまいません。

RAD Studio によって、IDE に既に追加されている SDK を使ってアプリケーションがビルドされ、iOS デバイス プラットフォーム用に構成した接続プロファイルを使って Mac への接続が行われます。また、Mac 上のプラットフォーム アシスタントによって、接続された iOS デバイス上でアプリケーションが起動されます。

メモ: iOS デバイスでユーザーのアプリケーションを起動するまでの間、RAD Studio の応答がなくなったようにみえることがありますが、アプリケーションの実行準備をしているだけで問題ありません。

トラブルシューティング

'Device connection timeout'(デバイス接続のタイムアウト)が発生したら iOS デバイスを Mac に接続する

iOS デバイスが接続されていない場合、iOS デバイス上でアプリケーションを起動しようとすると、次のメッセージが IDE に表示されます。

 Device connection timeout

このメッセージが表示されたら、以下の手順を実行してください。

  1. メッセージを閉じます。
  2. Apple の USB ケーブル(上で示したもの)を使って iOS デバイスを Mac に接続します。
  3. アプリケーションをもう一度 IDE から実行します。実行方法は上記の手順を参照してください。
メモ:PAServer コマンドライン ユーティリティの -devicetimeout=<n> を使用して、デバイス接続のタイムアウト時間を設定することができます。ただし、デバイス タイムアウトの値を変更しても、iOS デバイスが存在しない場合の問題は解決しません。

'Unable to locate DeviceSupport directory matched with connected device info'(接続したデバイスの情報に一致する DeviceSupport ディレクトリが見つかりません)

デバイスの iOS バージョンを最近アップグレードした場合は、iOS デバイスでアプリケーションを実行しようとしたときに上記のエラー メッセージが出力される可能性があります。このメッセージが表示されたら、以下の手順を実行してください。

  1. メッセージを閉じます。
  2. Mac で Xcode を開きます。
  3. [ウインドウ|オーガナイザ]を選択し、お使いのデバイスが Xcode で認識されるかどうかを判断して、以下を行います。
    • デバイスが Xcode で認識される場合は、Xcode にデバイスのサポート情報をインポートし直し、RAD Studio からアプリケーションを再度実行してみます。
    • デバイスが Xcode で認識されない場合は、Xcode をアップグレードする必要があります。
      メモ: あるいは、デバイスが Xcode で認識されないが、お使いの Mac の Xcode をアップグレードしたくないという場合には、お使いのデバイスを認識するアップグレード版の Xcode がインストールされている別の Mac にデバイスを接続してみることもできます。お使いのデバイスのサポート情報を新しいバージョンの Xcode で再度インポートしたら、古いバージョンの Xcode で、アップグレードした iOS デバイスも認識されるようになる可能性があります。

iOS デバイスに何も表示されない

この手順に沿って iOS デバイス上でアプリケーションを実行したときに、アプリケーションが iOS デバイスに表示されなければ、以下の点を確認してください。

  • プラットフォーム アシスタントが Mac で動作している必要があります。「Mac でのプラットフォーム アシスタントの実行」を参照してください。
  • RAD Studio で、iOS デバイス ターゲット プラットフォームに関連付けた接続プロファイルが、ターゲットのプラットフォーム アシスタントのインスタンスに接続されている必要があります。
    • プロジェクトで iOS デバイス ターゲット プラットフォームに関連付けられた接続プロファイルを構成する手順は、「ターゲット プラットフォームをアクティブにして構成する」を参照してください。
    • [ツール|オプション...|環境オプション|接続プロファイル マネージャページで以下を行います。
      • (使用可能な接続プロファイルがプラットフォームごとに一覧表示されている)左側の列で[iOS デバイス]ターゲット プラットフォームに関連付けられている接続プロファイルを選択します。
      • その接続プロファイルの値、たとえば IP アドレス(Mac の IP アドレスでなければなりません)やポート番号(プラットフォーム アシスタントのポート番号でなければなりません)を確認します。
      • [接続テスト]をクリックして、開発用 PC から Mac 上で稼働しているプラットフォーム アシスタントへの接続が正しく動作しているかを確認します。
  • 同時に複数の iOS デバイスを Mac に接続できません。

アプリケーションがブレークポイントで停止しない

iOS デバイスでのデバッグ セッション中にクラッシュした後、次のデバッグ セッションがうまく機能しなくなることがあります。

デバッグ シンボルを使用して実行しているときに、アプリケーションは実行できるが、ブレークポイントで停止しない場合は、次の手順を実行します。

  1. Mac で Xcode を起動します。
  2. Xcode で iOS アプリケーションを新規作成します。
  3. 新しい Xcode iOS アプリケーションが開いたら、[iOS Device]をターゲットとして選択します。
    XcodeIosDeviceTarget.png
  4. [Run]をクリックしたままで、表示されるコンテキスト メニューから[Analyze]を選択します。
    XcodeAnalize.png

ここで、Xcode を閉じ、引き続き iOS デバイスで、RAD Studio アプリケーションをデバッグできます。

関連項目