6

アプリに新しいマクロを追加したいのです#defineが、ベータ スキームなどの特定のスキームに対してのみです。これを行う最善の方法は何ですか?アプリをテスト (つまり、シミュレーター) で実行しているときに、DEBUG=1 マクロが追加されることは知っていますが、さらにマクロを追加する方法がわかりません。

4

3 に答える 3

9

最善の方法は、Xcode 構成ファイルを使用することです。

Beta.xcconfigand (またはそのようなもの)という名前のファイルをいくつか追加しDistribution.xccconfig、ビルドの種類ごとにマクロを追加します。

Beta.xcconfig:

GCC_PREPROCESSOR_DEFINITIONS = $(inherited) BETA=1

ディストリビューション.xcconfig.

GCC_PREPROCESSOR_DEFINITIONS = $(inherited) BETA=0

新規ファイル ダイアログでファイルを簡単に追加できます。

xcconfig ファイルを作成する

次に、各ファイルをビルド スタイルにマップする必要があります。最上位プロジェクト、プロジェクト設定 (ターゲットのすぐ上) に移動し、[情報] セクションをクリックします。

xcconfigs をマップしてスタイルを構築する

コードでは、いつものようにマクロを使用できます。

#if BETA
// do something only in beta
#endif

値を割り当てる代わりに、マクロを定義するだけの場合は、#ifdef.

複数のマクロを使用する場合は、ビルド ログを見て、すべてが期待どおりに機能していることを確認する必要がある場合があります。

マクロが強調表示されたビルド ログ

于 2012-11-24T12:40:57.627 に答える
3

スキームはビルド構成のみを実行しています

マクロはビルド構成に対してのみ設定できます

新しいビルド構成とそれを使用するための新しいスキームを作成します

少し不便です:/

于 2012-11-24T11:46:43.820 に答える
0

(私が使用した) 別の方法は、プロジェクトまたはターゲットのビルド設定にあります。

1) [プロジェクト] -> [ターゲット] -> [ビルド設定] に移動し
ます。2) 「プリプロセッサ マクロ」を検索します。

これで、そのプロジェクトに定義されたすべてのスキームを確認し、好きなプリプロセッサ マクロを追加できるはずです。$(inherited) を残すことを忘れないでください。また、私の場合は COCOAPODS=1 定義を持っていたので、おそらく他のすべての定義済みマクロを保持したいと思うでしょう。

于 2014-01-15T13:41:36.940 に答える