A
別のプロジェクト ( ) を参照する Xcode プロジェクト ( ) がありB
ます。デフォルトでは(私が理解している限り)、Xcodeはターゲットの構成(「デバッグ」など)B
と一致する依存関係の構成を暗黙的に構築します。しかし、たとえば、 「デバッグ」としてビルドし、「リリース」としてビルドしA
たい場合はどうすればよいでしょうか? Xcodeでそれを指定するにはどうすればよいですか?A
B
4 に答える
簡単なアプローチはわかりませんが、「スクリプトの実行」ビルドフェーズで依存関係に対して xcodebuild を直接呼び出すことで、ブルートフォースすることができます。
これは単なる例であることは承知していますが、サブプロジェクトをリリース (シンボルなし) ビルドにすることが実際の目標である場合は、サブプロジェクトをライブラリまたはフレームワークにビルドし、結果のバイナリをバージョン管理システムに追加します。めったに変更されず、デバッグ シンボルが不要なシステムの一部がある場合は常に、先に進み、それを静的ライブラリとしてビルドしてチェックインします。多くの場合、先に進んでコードを別の場所に移動します (コードの場所とビルド方法を示す .a を含む README ファイル)。これにより、ビルドとチェックアウトの両方の時間が節約され、私の経験では大規模なプロジェクトには非常に役立ちます。
これが役立つ場合があります。プロジェクトの構成がA
見つからない場合、Xcode は構成をRelease
フォールバック (またはリストの最初の構成) としてビルドします。
次に、このヒントを使用してリンクを「強制」できます: Xcode カスタム ビルド構成により、静的ライブラリの「ライブラリ/ファイルが見つかりません」が発生する
はい、これは Xcode では当然サポートされていません。ターゲットをビルドすると、それ自体とすべての依存ターゲットの 1 つの構成がビルドされます。
Rob が述べたように、回避策は、xcodebuild -configuration Release (または何でも) を呼び出す単一の Run Script ビルド フェーズを含む Aggregate Target タイプである依存ターゲットを使用することです。