xcconfigで使うパラメータ名の見つけ方

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形式で貼り付けします。

XcodeBuildSettings

例えばBuild Active Architecture Onlyの項目を選択し、コピー(⌘+C)してテキストエディタでペースト(⌘+V)すると、下記のように貼り付けされます。

//:configuration = Debug
ONLY_ACTIVE_ARCH = YES

//:configuration = Release

//:completeSettings = some
ONLY_ACTIVE_ARCH

//:configuration = DebugReleaseとは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が作成できます。

このエントリーをはてなブックマークに追加