18

A別のプロジェクト ( ) を参照する Xcode プロジェクト ( ) がありBます。デフォルトでは(私が理解している限り)、Xcodeはターゲットの構成(「デバッグ」など)Bと一致する依存関係の構成を暗黙的に構築します。しかし、たとえば、 「デバッグ」としてビルドし、「リリース」としてビルドしAたい場合はどうすればよいでしょうか? Xcodeでそれを指定するにはどうすればよいですか?AB

4

4 に答える 4

5

簡単なアプローチはわかりませんが、「スクリプトの実行」ビルドフェーズで依存関係に対して xcodebuild を直接呼び出すことで、ブルートフォースすることができます。

これは単なる例であることは承知していますが、サブプロジェクトをリリース (シンボルなし) ビルドにすることが実際の目標である場合は、サブプロジェクトをライブラリまたはフレームワークにビルドし、結果のバイナリをバージョン管理システムに追加します。めったに変更されず、デバッグ シンボルが不要なシステムの一部がある場合は常に、先に進み、それを静的ライブラリとしてビルドしてチェックインします。多くの場合、先に進んでコードを別の場所に移動します (コードの場所とビルド方法を示す .a を含む README ファイル)。これにより、ビルドとチェックアウトの両方の時間が節約され、私の経験では大規模なプロジェクトには非常に役立ちます。

于 2009-10-23T18:39:19.500 に答える
4

これが役立つ場合があります。プロジェクトの構成がA見つからない場合、Xcode は構成をReleaseフォールバック (またはリストの最初の構成) としてビルドします。

次に、このヒントを使用してリンクを「強制」できます: Xcode カスタム ビルド構成により、静的ライブラリの「ライブラリ/ファイルが見つかりません」が発生する

于 2013-02-15T10:04:35.880 に答える
3

はい、これは Xcode では当然サポートされていません。ターゲットをビルドすると、それ自体とすべての依存ターゲットの 1 つの構成がビルドされます。

Rob が述べたように、回避策は、xcodebuild -configuration Release (または何でも) を呼び出す単一の Run Script ビルド フェーズを含む Aggregate Target タイプである依存ターゲットを使用することです。

于 2009-10-23T23:44:18.320 に答える