2016-05-25 10 views
2

Xcode(swift)のXcodeビルドルールでJ2Objcを使用します。Xcodeでswiftを使用してJavaコードをコンパイルする方法

  1. javaファイル(People.java)ビルドルールの を2.Make設定を書き、次のようにカスタムスクリプトを追加します。

    "$ {J2OBJC_HOME}/j2objc" $ {を-d DERIVED_FILES_DIR} -sourcepath "$ {PROJECT_DIR}/iOSApp-Swift" --no-package-directories -use-arc $ {INPUT_FILE_PATH};

注:私は

ARCを有効
  • ファイルPeople.hブリッジヘッダファイルとインポートを追加します。
  • ViewControllerファイルのPeopleクラスからいくつかの関数を呼び出します。
  • 私がプロジェクトをビルドすると、失敗しました: 'People.hが見つかりません'。

    People.hをインポートして使用する前にビルドすると、People.hファイルをインポートし、ViewControllerファイルのPeopleクラスから関数を呼び出してプロジェクトをビルドするように実装します。できます。

    私はJ2Bjcによって引き起こされた問題は、ブリッジファイルをビルドする前に、javaファイルを.h/.mファイルに変換しないと思います。誰がそれを修正する方法を知っていますか?あなたのXcodeのターゲットの「ソースをコンパイル」ビルドフェーズにPeople.javaを追加したいと思う

    おかげ

    答えて

    1

    。このフェーズが実行されると、Objective Cファイル用の組み込みルールまたはJavaファイル用のカスタムビルドルールのいずれかを使用して、各ファイルをコンパイルします。

    +0

    ファイルは 'Compile Sources'にあります。 – Leo

    +0

    コンパイルソースに.javaファイルを追加する場合、j2objcを呼び出すビルドルールが必要です(そうしないと、Xcodeはそのファイルのビルド方法を知らず、無視します)。それ以外の場合は、j2objcによって生成されたPeople.mファイルをソースのコンパイルに追加します。 – tball

    関連する問題