9

プログラムのインストーラーをビルドするために、「インストーラー」Xcode プロジェクト/ターゲットを追加しました。これは、必要なすべてのバイナリを一時的な場所にコピーし、必要なロジックを実行してパッケージをビルドします。

私が抱えている問題は、このインストーラー プロジェクトを他のいくつかのプロジェクトに直接依存するようにマップして、インストーラー プロジェクトをビルドするたびに (必要に応じて) ビルドされるようにすることです。

すべてのターゲットをインストーラーのビルド ターゲット リスト (スキーマ内) に追加しました。これらは次のように並べられています。

Project A
Project B
Project C
Installer (self)

ただし、クリーン ビルドを実行すると、(ビルド ログに) 次のようなビルド順序が表示されます。

Project C
Installer
Project A
Project B

特定のビルド順序を強制する必要があります。そうしないと、インストーラーがファイルを使用できなくなります。Xcode では、UI でこれらのアイテムの順序を変更できますが、順序は何もしていないようです。依存関係のビルド順序を強制する方法はありませんか?

4

3 に答える 3

5

インストーラー ターゲットのターゲット A、B、および C ターゲット依存関係を作成します。これにより、A、B、および C がインストーラーの前にビルドされます。プロジェクト ナビゲーターからプロジェクト ファイルを選択して、プロジェクト エディターを開きます。ターゲットのリストからインストーラー ターゲットを選択します。エディターの上部にある [ビルド フェーズ] ボタンをクリックして、ターゲットのビルド フェーズを表示します。Target Dependencies ビルド フェーズの横にある開閉用三角ボタンをクリックします。+ ボタンをクリックして依存関係を追加します。

ターゲットの依存関係を追加すると、ターゲット A、B、および C がインストーラーの前にビルドされます。A、B、および C を特定の順序でビルドする必要がある場合は、ターゲットの依存関係をさらに追加する必要があります。

于 2012-04-23T19:31:29.397 に答える