1

私のアプリには多数のターゲットがあり、各ターゲットはプロジェクトで使用される大量のプリプロセッサマクロを指定します。それらは、スイッチから文字列やURLの定義までどこにでもあります。xcodeビルド設定UIを使用して、これらの多数を適切に管理するのに苦労し始めており、大規模なマルチターゲットプロジェクトを持つ人々が痛みを軽減するために何をすればよいか疑問に思っていました。

1つの解決策は、各ターゲットで1つのスイッチを定義してから、すべての定義を-Prefix.pchファイルにダンプすることです。これは、ビルド設定でこれらのマクロを定義した場合と基本的に同じ効果があります。

別の解決策は、モジュール処理構成(plistのラッパーである可能性があります)を持ち、同じファイル名を持つ異なるplistを各ターゲットにバンドルすることです。このようにして、さまざまな設定にアクセスするための明確に定義されたインターフェイスを作成でき、そこにロジックを追加できるという利点があります。

何かお勧めはありますか?

4

1 に答える 1

1

私のすべてのプロジェクトには、Constants.h文字列定義、さまざまなフラグ、画像名などを処理するファイルと、プリプロセッサ マクロが含まれています。Constants.h私が作成するほとんどすべてのクラスに含めるだけです。

また、UI テーマや Web サービスの呼び出しなどを制御するいくつかのアプリにいくつかのターゲットがあるため、 で次のことを行いますConstants.h

#ifdef APPLE
#define IMAGE_LOGO "apple.png"
#endif

#ifdef MICROSOFT
#define IMAGE_LOGO "windows.png"
#endif

#ifdef LINUX
#define IMAGE_LOGO "penguin.png"
#endif

//etc...

理想的かどうかはわかりませんが、これは私のニーズに完全に適合し、各ターゲットにフラグを設定することを除いて、面倒なビルド設定 UI をいじる必要はありません (例: APPLE=1)。それが役に立てば幸い。

于 2012-12-14T03:15:21.443 に答える