要件
- Apple Mac OS X システム
- 最新バージョンの Xcode
- JDK JDK 17 がインストールされている
- Apache Maven
- (推奨、必須ではない)Google Protocol Buffer ソース
Mac のセットアップ
- 次のコマンドを実行して、Xcode コマンドライン ツールをインストールします。
sudo xcode-select --install.bash_profileに追加:
export JAVA_HOME=`/usr/libexec/java_home -v 17`- Maven がインストールされていない場合(ターミナルで
mvn -versionを試してください)、Homebrew を使用します。
brew install mavenJ2ObjC プロジェクトのフォークを作成する
J2ObjC プロジェクトをフォークするには、メインページを開き、[Fork] ボタンをクリックします。

GitHub アカウント名を選択すると、数秒でフォークが作成されます。
次に、開発用に fork のコピーをローカル システムに複製します。まず、[Clone or download] ボタンをクリックし、[Copy to Clipboard] ボタンをクリックします。

次に、ローカル ディレクトリにクローンを作成します。
git clone (Command-V) # Paste the copied URLprotobuf と abseil をインストールする
J2ObjC をビルドするには、protobuf C++ をインストールしておく必要があります。
protobuf バイナリ パッケージをインストールするには、Homebrew を使用します。
brew install protobufProtobuf C++ ビルドは Abseil ライブラリに依存するようになったため、こちらもインストールします。
brew install abseilPROTOBUF_ROOT_DIR を protobuf がインストールされているルートに設定する必要があります。通常、これは Homebrew のデフォルトの /usr/local です。.bash_profile に次の行を追加します。
export PROTOBUF_ROOT_DIR=/usr/local # or your custom Homebrew dir確認するには、$PROTOBUF_ROOT_DIR/bin/protoc --version を実行します。
J2ObjC のビルド
ターミナル ウィンドウのコマンドラインからビルドするには、次のコマンドを実行します。
# Build just the translator and librariesmake dist# Build the protocol buffer compiler and runtime for J2ObjCmake protobuf_dist# Build everything that is included in the project's distribution bundlesmake all_dist
J2ObjC のテスト
ターミナル ウィンドウのコマンドラインからテストするには、次のコマンドを実行します。
# Run translator and library unit testsmake test# Run all unit tests, including for protocol buffersmake test_all
ビルドのクリーンアップ
# Remove all files generated by the buildmake clean
並列ビルド
J2ObjC ビルドは並列ビルドをサポートしています。並列ビルドは -j<n> フラグを使用して指定します。ここで、n は同時実行タスクの最大数です。最大値はシステムの速度によって異なります。-j4 から始めることをおすすめします。システムで処理できる場合は、ビルド時間を短縮するために数を増やし、システム エラーで make が失敗する場合は数を減らします。
32 ビット iOS アーキテクチャのビルド
32 ビット iOS アーキテクチャ(「iphone」と「simulator」)はデフォルトではビルドされません。これらを使用して j2objc をビルドするには、まず J2OBJC_ARCHS 環境変数で指定します。
$ export J2OBJC_ARCHS="iphone simulator"
$ make -j8 all_dist
サポートされているアーキテクチャのサブセットを指定すると、一般に、アプリに必要なアーキテクチャのみを指定することで、ローカルビルドを高速化できます。たとえば、64 ビット iOS(「iphone64」)とその関連シミュレータ(「simulator64」)のみをビルドするには、make を実行する前に J2OBJC_ARCHS="iphone64 simulator64" を定義します。
フル配信のビルド
j2objc チームはファイルサイズの制限により、GitHub に事前構築済みのディストリビューションを投稿しなくなりましたが、「すべてを 1 ステップでビルドする」スクリプトは引き続き使用できます。
$ scripts/build_distribution.sh HEAD-<current-date> $PROTOBUF_ROOT_DIR
このスクリプトは、すべての j2objc パッケージのすべてのアーキテクチャがビルドされるため、実行に時間がかかります。ただし、環境変数の最小セットのみでビルドするため、一般的なビルドの失敗がある場合は非常に便利です。build_distribution スクリプトは成功したが、通常のビルドステップが成功しなかった場合は、ローカル環境変数が正しく設定されているかどうかを確認します。