xcodebuildを使用するときにプリプロセッサマクロを定義するにはどうすればよいですか?
さまざまな構成を使用してアプリをビルドする必要があります。これを、さまざまなプリプロセッサマクロでxcodebuildを何度も実行するシェルスクリプトを使用して実行したいと思います。
xcodebuildを使用するときにプリプロセッサマクロを定義するにはどうすればよいですか?
さまざまな構成を使用してアプリをビルドする必要があります。これを、さまざまなプリプロセッサマクロでxcodebuildを何度も実行するシェルスクリプトを使用して実行したいと思います。
コマンドラインGCC_PREPROCESSOR_DEFINITIONS
で渡します。xcodebuild
引数は、シェルのような単語分割と引用符の処理のために再評価されることに注意してください。そのため、特にマクロ値が単純な1
s ではない場合 (NSString リテラルなど) は注意が必要です。
また、設定した値の内部を展開することも重要ですGCC_PREPROCESSOR_DEFINITIONS
(単一引用符で囲まれているため、スクリプトでは展開されませんが、ビルドのシェルによって展開されます)。そうしないと、このプロパティに対するプロジェクトのビルド設定が失われます。
次のコードは、定義を適切な bash 配列に配置し、xcodebuild
コマンド ラインで配列を展開して、シェルの要素が適切にエスケープされるようにします。
defines=( TESTING=1 'IWISH_HOST=@"http://192.168.0.101:8080"' )
xcodebuild -verbose -scheme "MyAppScheme" \
GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS '"$(printf '%q ' "${defines[@]}")"
プロジェクトでCmd+Iを実行して、[情報]ダイアログを開きます。次に、[ビルド]タブで、[プリプロセッサマクロ]設定を見つけます。そこにマクロを追加します。
...設定名は、を見つけることができるので、GCC_PREPROCESSOR_DEFINITIONS
追加することができます
GCC_PREPROCESSOR_DEFINITIONS="foo=bar"
xcodebuild引数に。