3

3つのターゲットを持つXCodeプロジェクトがあります。

  1. アプリケーション
  2. アセットをビルドする外部ビルドシステムターゲット
  3. 依存関係として1と2を持つ集約ターゲット。

私が欲しい機能は次のとおりです。

  1. アプリケーションをビルドすると、アプリケーションのみがビルドされます
  2. 外部ビルドシステムを構築すると、アセットのみがビルドされます
  3. アグリゲートをビルドすると、最初に外部ビルドシステムがビルドされ、次にアプリケーションがビルドされます

現在、アグリゲートは両方を同時にビルドします。これにより、外部ビルドシステムが完了する前にアプリケーションが特定のポイントに到達すると、競合状態が発生します。アプリケーションの依存関係としてビルドシステムを追加することはできません。アプリケーションをビルドすると両方が実行されるためです。アプリケーションターゲットのコピーを作成せずにこれを達成する方法はありますか?

4

1 に答える 1

5

以下は、同様に配置されたプロジェクトで機能します。

  1. [Build Phases] -> [Target Dependencies] の下で、コンパイルする順序でターゲットを配置します。(外部ビルド システム、次にアプリケーション)。
  2. 次に、集約プロジェクトの [スキームの編集] ウィンドウで、[ビルド] の下の [ビルドの並列化] をオフにします。

さらに、アプリケーションでアプリケーションのみをビルドするには、アプリケーション プロジェクトのビルド スキームで [暗黙の依存関係を検索] をオフにする必要がある場合があります。

于 2013-05-01T15:28:52.560 に答える