別のプロジェクト(B
)を参照するXCodeプロジェクト(A
)があります。デフォルトでは(私が理解する限り)XCodeはA
のターゲット(例えば "Debug")の設定と一致するB
依存関係の設定を暗黙的に構築します。しかし、たとえば「A
」を「デバッグ」として、B
を「リリース」としてビルドしたいのであればどうしますか? XCodeでそれを指定するにはどうすればいいですか?XCodeでサブプロジェクトの設定を指定する
答えて
私は簡単なアプローチはわかりませんが、 "Run Script"ビルドフェーズで依存関係を調べるためにxcodebuildを直接呼び出すことで、ブルートフォースすることができます。
私はそれが単なる例であることを知っていますが、あなたの本当の目標は、サブプロジェクトがリリース(シンボルなし)ビルドである場合、サブプロジェクトをライブラリにビルドするか、結果のバイナリをあなたのバージョンコントロールシステムにチェックインします。ほとんど変更がなく、デバッグシンボルを必要としないシステムがある場合は、静的ライブラリとして構築してチェックインします。コードを他の場所にも移動することがよくあります。コードがどこにあり、どのようにビルドされたかを示す.aを持つREADMEファイル)。これはビルドとチェックアウトの両方の時間を節約し、私の経験では大規模なプロジェクトにとって非常に貴重です。
はい、これは当然Xcodeでサポートされていません。ターゲットをビルドすると、それ自身とすべての依存ターゲットの1つの構成が構築されます。
回避策は、単一の実行スクリプト構築フェーズを構成する集約ターゲットタイプの依存ターゲットを持つことです。このフェーズはxcodebuild -configuration Release(または何でも)を呼び出すだけです。
これは、A
というプロジェクトの設定が見つからない場合、XcodeはRelease
の設定をフォールバック(またはおそらくリストの最初の設定)としてビルドします。
次に、このチップを用いてリンクを「強制」することができますXcode custom build configuration causes "library/file not found" for static libraries
はい、貴重なヒント - 感謝を! – fbrereto