macOS で Hello World コンソール アプリケーションを構築する
MacOS アプリケーション開発 への移動
この "Hello World" チュートリアルは、Delphi または C++ でマルチデバイス アプリケーションを作成する場合に不可欠な手順を示しています。このアプリケーションは、macOS プラットフォーム(Mac)、コンソール ウィンドウ、およびイベントをターゲットとし、ユーザーの操作に応答するダイアログ ボックスを表示します。
目次
前提条件
「macOS 用の開発環境のセットアップ」を参照してください。
手順
macOS の "Hello World" コンソール アプリケーションを作成するには:
開発用 PC を Mac に接続する
「Mac と PC を連携させる」を参照。
ターゲットの macOS でプラットフォーム アシスタントを実行する
- プラットフォーム アシスタントは、開発用 PC とターゲットの Mac の両方で動作している必要があります。
- プラットフォーム アシスタントが PC と Mac にインストールされている場合は、次の手順に進みます。
- プラットフォーム アシスタントが PC または Mac にまだインストールされていない場合は、ターゲット マシンにプラットフォーム アシスタントをインストールします。次のインストーラが PC や Mac で実行するために利用できます。
- ターゲットの Mac でインストールするには、
RADPAServerXE4.pkg
を使用します。手順については、「Mac でのプラットフォーム アシスタントのインストール」を参照してください。 - PC でインストールするには、
setup_paserver.exe
を使用します。手順については、「Windows でのプラットフォーム アシスタントのインストール」を参照してください。
- ターゲットの Mac でインストールするには、
- プラットフォーム アシスタント クライアント アプリケーション paclient.exe は、RAD Studio のインストール時に開発用システムにインストールされることに注意してください。
- Mac で[ターミナル]ウィンドウを開きます。
- ディレクトリをプラットフォーム アシスタント(PAServer)を含むディレクトリに変更します(
cd
)。 - 次のとおりに入力してプラットフォーム アシスタントを実行します。
./paserver
- パスワード設定画面が表示されたら、使用する場合に、パスワード文字列を入力します。これは、任意の接続プロファイルから、プラットフォーム アシスタントのインスタンスに接続するときに必要になるパスワードです。パスワードを設定しないときは、Enter キーを押します。
- プラットフォーム アシスタントで、サインオン メッセージとコマンド プロンプト(>)が表示されます。
プラットフォーム アシスタント サーバー用の接続プロファイルを作成する
- [ツール|オプション...|環境オプション|接続プロファイル マネージャ]を選択します。
- [追加...]をクリックします。[接続プロファイルの作成]ウィザードが開きます。
- このウィザードの 1 番目のページ([プロファイル情報])で次のとおりに入力します。
- [プロファイル名]に、接続プロファイルの名前を入力します。
- [プラットフォーム]で、プラットフォーム アシスタント サーバーが稼働しているプラットフォーム(今回は、[macOS])を選択します。
- [次へ >>]をクリックします。
- このウィザードの 2 番目のページ([リモート マシン情報])で次のとおりに入力します。
- [リモート マシン (IP アドレスまたはマシン名)]に、リモート マシン(Mac)の名前または IP アドレスを入力します。
- リモート マシンの IP アドレスを調べるには、次のコマンドのいずれかを入力します。
i
(Mac の PAServer コンソール)ifconfig
(Mac の[ターミナル]ウィンドウ)
- リモート マシンの IP アドレスを調べるには、次のコマンドのいずれかを入力します。
- [ポート番号]はデフォルト値 64211 をそのまま使います。
- [パスワード]フィールドに、接続先のプラットフォーム アシスタントを起動したときに設定したパスワード文字列(オプション)を入力します。パスワード ファイル(*.passfile、paserver を使用して作成され、他のユーザーと共有の暗号化パスワードを含む)を検索するには、参照([...])をクリックします。プラットフォーム アシスタントのパスワードが設定されていない場合は、このフィールドを空のままにします。
- [接続テスト]をクリックします。
- [リモート マシン (IP アドレスまたはマシン名)]に、リモート マシン(Mac)の名前または IP アドレスを入力します。
- [OK]をクリックして、[接続プロファイル マネージャ]ページを閉じます。
macOS ターゲット用の SDK を追加する
- [ツール|オプション...|環境オプション|SDK マネージャ]を選択します。
- [追加...]をクリックします。[新規 SDK の追加]ダイアログ ボックスが開きます。
- [プラットフォームの選択]で、ターゲット プラットフォーム(今回は、[macOS])を選択します。
- [接続するプロファイルの選択]で、先ほど作成した接続プロファイルを選択します。
- [SDK バージョンの選択]で、[Command Line Tools]を選択します。
- この Command Line Tools SDK は macOS アプリケーションをビルドするための基本のヘッダーおよびライブラリを提供するもので、"Hello World" アプリケーションにはこれで十分です。 リスト中の他の SDK を選択しても問題ありません。どれも Command Line Tools SDK のライブラリを提供しているためです。
- メモ: 使用可能な SDK のリストは、前のステップで選択した接続プロファイルを使って macOS システムから取得したものです。 コンボ ボックスが空であったり特定の SDK が含まれていない場合には、「macOS または iOS デバイス用 SDK の追加」を参照してトラブルシューティングを行ってください。
- [OK]をクリックして、[SDK マネージャ]ページを閉じます。
指定された SDK のファイル(ヘッダーおよびライブラリ)が Mac から開発用 PC に取り込まれます。他のライブラリやフレームワークを追加するには、「[リモート パス項目の追加]または[リモート パス項目の編集]」を参照してください。
macOS ターゲットのコンソール アプリケーションを作成し構成する
- [ファイル|新規作成|その他...]を選択します。[新規作成]ダイアログ ボックスが表示されます。
- [Delphi プロジェクト]または[C++Builder プロジェクト]を選択し、[コンソール アプリケーション]をダブルクリックします。
- [新規コンソール アプリケーション]ダイアログ ボックス(C++)で、[コンソール アプリケーション]チェック ボックスがオン、[ターゲット フレームワーク]が[なし]、[マルチスレッド]がオフであることを確認します。その後、[OK]をクリックします。
- [プロジェクト マネージャ]で、[ターゲット プラットフォーム]ノードを右クリックして、[プラットフォームの追加...]をクリックします。
- [プラットフォームの選択]ダイアログ ボックスで、[macOS]を選択し、[選択したプラットフォームをアクティブにする]チェック ボックスをオンにして、[OK]をクリックします。
- SDK と接続プロファイルを macOS ターゲットに関連付けます。
- [プロジェクト マネージャ]で[macOS]プラットフォームを右クリックすると、次のコンテキスト メニューが表示されます。
- コンテキスト メニューで[プロパティ...]を選択します。[プラットフォーム プロパティ]ダイアログ ボックスが開きます。
- [SDK (ソフトウェア開発キット)]フィールドで、この "Hello World" アプリケーション用に作成した SDK を選択します。
- [プロファイル]フィールドで、この "Hello World" アプリケーション用に作成した接続プロファイルを選択します。
- [OK]をクリックして、変更内容を保存します。
- [プロジェクト マネージャ]で[macOS]プラットフォームを右クリックすると、次のコンテキスト メニューが表示されます。
これで、[プロジェクト マネージャ]の[macOS]プラットフォームの横にプロファイル名が表示されます。アプリケーションが C++ の場合には、SDK 名も表示されます。
コードを記述する
コード エディタで、テンプレートから生成されたコードを次のとおりに修正します。
- C++ の場合にのみ、次の行を他の
#include
指令の後に追加します。#include <iostream>
- hello を表示し、Enter キーを待機するコードを追加します。
- Delphi の場合、次のステートメントを try ブロック(except キーワードの前)に入力します。
Writeln('Hello, World!'); Readln;
- C++ の場合は、次のコードを
return 0;
の行の前に入力します。std::cout << "Hello, World!" << std::endl; std::cin.ignore();
- Delphi の場合、次のステートメントを try ブロック(except キーワードの前)に入力します。
- アプリケーションに名前を付けて保存します([ファイル|上書き保存])。
macOS ターゲットでコンソール アプリケーションを実行する
- [実行|デバッガを使わずに実行]を選択します。
- RAD Studio により、[プロジェクトを配置するには、まずコンパイルする必要があります。続行しますか?]が表示されます。[はい]をクリックします。
- ターゲット マシンで、"Hello, World!" というメッセージがプラットフォーム アシスタントのプロンプト(デバッガからのメッセージの後)に表示されます。
ENTER
キーを押します。コンソール アプリケーションが終了した後、プラットフォーム アシスタント サーバーによりコマンド プロンプト(>)が再表示されます。
アプリケーションをデバッグする
IDE でアプリケーションをデバッグするには、次の標準[実行]コマンドのいずれかを使用します。
- [実行|実行](F9)
- [実行|ステップ実行](F8)
- [実行|トレース実行](F7)
[プロセスの読み込み]または[プロセスにアタッチ]コマンドでデバッガを起動することもできます。
これらすべてのコマンドで、次のとおりに実行できます。
- 現在割り当てられているプロファイルに基づいて、必須ファイルをターゲット マシンに転送する。
- デバッグ モードでアプリケーションを実行する。
IDE の統合デバッガを使用して、macOS アプリケーションをデバッグすることは、統合デバッガでネイティブの Win32 アプリケーションをデバッグすることとほとんど同じです。
アプリケーションに対して[実行]コマンドで、デバッガを起動する場合([実行|実行]、[実行|ステップ実行]または[実行|トレース実行]など)、デバッガがアクセスできるようにするために Mac の管理者パスワードの入力画面が表示されることがあります。
関連項目
- コマンド ラインからの macOS C++ コンソール アプリケーションのコンパイルとリンク
- macOS のアプリケーション開発
- Mac と PC を連携させる
- マルチデバイス アプリケーションの開発
- [接続プロファイル マネージャ]ページ([ツール|オプション...]内)
- [接続プロファイルの作成]ウィザード
- ['<プラットフォーム名>' プラットフォーム用接続プロファイルの選択]ダイアログ ボックス
- [SDK マネージャ]ページ([ツール|オプション...]内)
- プラットフォーム アシスタント サーバー アプリケーション: paserver
- FireMonkey プラットフォームに必要な準備
- macOS Man Pages
- macOS Command Line 101