1

私のプロジェクトでは、iPhone シミュレーターと iPhone デバイス用に異なるフレームワークがあります

私の要件は、Xcode で「実行スクリプト」を記述して、シミュレーターまたはデバイスに基づくフレームワークを含めることです。

4

1 に答える 1

2

これが最善の解決策であるかどうかはわかりませんが、私にとってはうまくいくようです。

ターゲットの依存関係の下にビルドスクリプトを追加する場合は、次のコードを追加します。これは、2つのライブラリがあることを前提としています

  1. library.a
  2. library_simulator.a

プロジェクトはlibrary.aを使用するように設定され、シミュレーターを使用している場合、スクリプトはlibrary.aを削除し、library_simulator.aに置き換えます。ビルドスキームにシミュレーターを追加して、ビルドを実行するときにシミュレーターがビルドされ、両方のライブラリーに同じインターフェイスが必要であることを確認する必要があります。

if [[ "${SDKROOT}" == *Simulator* ]]
then

    if [[ -f "${BUILT_PRODUCTS_DIR}/library.a"]]
    then
        rm -rf "${BUILT_PRODUCTS_DIR}/library.a"
    fi

    mv "${BUILT_PRODUCTS_DIR}/library_simulator.a" "${BUILT_PRODUCTS_DIR}/library.a"
fi

これがあなたにとってどれほどの用途であるかはわかりませんが、私は簡単にテストしただけです。それが役に立てば幸い。

于 2012-07-12T12:58:04.263 に答える