xcconfigで使うパラメータ名の見つけ方
Table of Contents
xcconfigは便利ですが、中身のパラメータ名が何書けばいいか特定できないと使い物になりません。
この記事はXcodeのBuild Settingsで書いてるビルドパラメータがxcconfigではどう書くのかを説明します。
xcconfigについて分からない方は「Xcodeのxcconfigの理解と使い方 」に詳細を説明してます。
xcconfigへの変換はXcodeがサポートしてる
xcconfigの書き方が分かって実際に使おうにも、ビルドパラメータ名が分からないと設定しようがありません。
XcodeのBuild Settingsでカスタマイズされた項目をxcconfigだとどうやって書けばいいか分からないと思います。
実はXcodeのBuild Settingsからxcconfigへのフォーマット変換はXcodeがサポートしてます。
確認する方法は2つあります。
- XcodeのBuild Settingsの表示方法をパラメータ名に変更する
- XcodeのBuild Settingsの各パラメータをxcconfig形式でコピーする
XcodeのBuild Settingsの表示方法をパラメータ名に変更
Build Settings
を開いた後にEditor > Show Setting Names
を選ぶと、表示されてるパラメータ名が表示用からコマンド用に変わります。
例えば、 Architectures > Build Active Architecture Only
であれば、ONLY_ACTIVE_ARCH
になります。
これをxcconfigで使うならONLY_ACTIVE_ARCH = YES
となります。
XcodeのBuild Settingsの各パラメータをxcconfig形式でコピー
パラメータ名を確認するだけならShow Setting Names
で確認できますが、Xcodeはそれよりも強力な変換機能を備えています。
実はBuild Settings
はコピー&ペーストをサポートしており、対象ビルドパラメータをコピーしてテキストにペーストすると、xcconfig形式で貼り付けします。
例えばBuild Active Architecture Only
の項目を選択し、コピー(⌘+C)してテキストエディタでペースト(⌘+V)すると、下記のように貼り付けされます。
//:configuration = Debug
ONLY_ACTIVE_ARCH = YES
//:configuration = Release
//:completeSettings = some
ONLY_ACTIVE_ARCH
//:configuration = Debug
やRelease
とはBuild Configuration毎に分けられてます。
Release
に何も表示されていないのは、カスタマイズ値ではなくデフォルト値なので空になります。
some
はコピーしたビルドパラメータの明確ビルドパラメータ名が列挙されます。ここはxcconfigでは不要なので削除します。
もう一つ例としてBuild Options > Debug Information Format
を見るとこうなります。
//:configuration = Debug
DEBUG_INFORMATION_FORMAT = dwarf
//:configuration = Release
DEBUG_INFORMATION_FORMAT = dwarf-with-dsym
//:completeSettings = some
DEBUG_INFORMATION_FORMAT
これを使えばXcodeからxcconfigを作りたい場合にBuild Settings
の項目全部を選択してコピーすれば、簡単に現在のビルド構成を表現したxcconfigが作成できます。