Xcode プロジェクトに JreEmulation プロジェクトを追加する

J2ObjC の JRE エミュレーション ライブラリは、Xcode を使用してビルドし、Xcode プロジェクトのサブプロジェクトとして含めることができます。これにより、そのライブラリのビルドに使用する設定を管理して、プロジェクトで最適に使用できるようになります。

ソースコードをダウンロードする

次のいずれかを実行します。 - 現在のソース バンドルをダウンロードしてローカル ディレクトリに zip 圧縮します。 - git を使用してソースコード ツリーのクローンを作成します。ローカルソース チェックアウトの利点は、J2ObjC プロジェクトの最新の変更を把握しやすいことですが、バージョン管理システムの知識が必要です。

ソースコードはローカル システムのどこにでも置くことができます。このドキュメントでは /usr/local/src/j2objc を使用しますが、このパスは自由に変更してください。

Build Tools をインストールする

J2ObjC をビルドするには、Xcode のコマンドライン ツールと Apache Maven をインストールする必要があります。次のヒントを参考にしてください。

Mac OS X や Xcode のバージョンが変更されるとインストールの内容が変わることが多いため、これらの検索は静的ページではなく Google 検索で行われます。

プロジェクトのビルド

J2ObjC のビルドの手順に沿って操作します。コマンドライン ビルドは省略可能ですが、Xcode 内で呼び出すよりもデバッグが簡単です。

JRE をデバッグするときは、クリーンビルドを実行する前に、jre_emul/environment.mk の先頭に次の行を追加することをおすすめします。

DEBUGGING_SYMBOLS=YES
OPTIMIZATION_LEVEL=0

JreEmulation Xcode プロジェクト

Xcode で /usr/local/src/j2objc/jre_emul/JreEmulation.xcodeproj を開きます。フォルダには次のものが含まれます。

  • クラス: 主要な JRE エミュレーション クラスのセット。Java ソースファイルを変換することで作成されません。
  • jre_emul_tests: Xcode 内でビルド、実行される単体テストのセット。変換された JUnit テストは含まれません。これらはコマンドラインから jre_emul ディレクトリで make test を使用してビルドおよび実行されます。
  • トランスパイルされたクラス: JRE ライブラリの Java ソースファイルを変換して作成されるファイルです。メモ:
  • Xcode は欠落しているファイルを赤でマークします。これらのファイルはビルド中に作成されるため、プロジェクトがビルドされるまでは初期状態で表示されます。
  • 新しいクラスは JRE エミュレーション ライブラリに定期的に追加されているため、このリストは古い可能性があります。その場合は、このフォルダを右クリックして [Add Files to JreEmulation.xcodeproj] をクリックし、jre_emul/build_result/Classes とそのサブディレクトリから新しい .m ファイルと .h ファイルを追加します。

JreEmulation プロジェクトをビルドするには、jre_emul ターゲットを選択し、Xcode の [Run] ボタンをクリックします。単体テストをビルドして実行するには、[Run] ボタンの横にある下矢印をクリックして [Test] を選択します。

JreEmulation プロジェクトをプロジェクトに追加する

  • 左側の [Project Naviagator] パネルでプロジェクトを右クリックして、[Add Files to Project Name] を選択します。
  • jre_emul/JreEmulation.xcodeproj ファイルを見つけて、[Add] ボタンをクリックします。
  • プロジェクトをクリックしてメイン ターゲットを選択し、ターゲットの [Build Phases] タブを選択します。
  • [Target Dependencies] セクションを開き、[+] ボタンをクリックして jre_emul ターゲットを選択します。
  • [Link Binary With Libraries] セクションを開き、[+] ボタンをクリックして libjre_emul.a を選択します。
  • ターゲットの [Build Settings] タブを選択し、[Header Search Paths] を見つけて、/usr/local/src/j2objc/dist/include ディレクトリへのパスを追加します(実際の場所に置き換えてください)。

プロジェクトがビルドされると、必要に応じて JreEmulation プロジェクトがビルドされます。