Xcodeの設定ファイルの作成方法

Xcodeで設定するビルド設定はプロジェクトファイル(*.xcodeproj)に保存されます。通常のアプリ開発ではこれだけで十分なのですが、中規模以上の開発を行っているときや特殊なプログラムを作っているときなどは、もう少し柔軟に制御したいことがあります。

例えば、次のようなときです。

  • 複数のプロジェクト間で共通のマクロ定義を使用したい。
  • ビルドマシンによってヘッダーファイルやライブラリの参照パスを変更したい。
  • コードサイニングに関する設定をプロジェクトファイルに保存したくない。
  • Xcodeを使わずに、ビルド設定を変更したい。

Xcodeでは設定値を設定ファイルに書き、設定ファイルから設定値を読み込ませてビルドさせることができます。この記事ではXcodeのビルド設定ファイルの作成方法について解説します。

スポンサーリンク

ビルド設定ファイルの作成方法

ビルド設定ファイルはテキストファイルです。テキストエディタでも作成できますが、プロジェクトに設定する必要があるのでXcode上で作成します。次のように操作します。

(1) FileメニューのNewからNew...を選択します。

(2) テンプレートからConfiguration Settings Fileを選択し、Nextボタンをクリックします。

テンプレートからConfiguration Settings Fileを選択する

(3) Targets内のチェックを全てオフにして、ファイル名と保存先を選択し、Createボタンをクリックします。ビルド設定ファイルは特定のターゲット用の設定であっても、ターゲットの対象にはしません。

ファイル名と保存先を設定する

ビルド設定ファイルの構文

ビルド設定ファイルの構文はとてもシンプルです。行単位で設定を列挙していくだけです。

設定 = 設定値

例えば、ONLY_ACTIVE_ARCHという設定をYESにするには、次のように書きます。

ONLY_ACTIVE_ARCH = YES

コメント

Swiftのコードと同じように//以降は行末までがコメントとして扱われます。

スポンサーリンク

設定値の種類

設定によって値のタイプが異なります。Xcode上でビルド設定を見ても、文字列だったり、数値だったりします。それに対応しています。次のようなタイプが定義されています。

  • Boolean (YESまたはNO)
  • 文字列
  • 列挙 (定義済みのテキスト)
  • スペース区切りの文字列リスト。文字列内にスペースがあるときは'で囲む
  • パス。POSIX形式のファイルパス・ディレクトリパス
  • スペース区切りのパスリスト。スペースが含まれるときは'で囲む

値の参照

他の設定値を参照するときは 次のように書きます。

$(他の設定)

値の継承

ターゲット単位の設定は指定しなければ、プロジェクト単位の設定が使われます。プロジェクト単位の設定も定義されていなければ、デフォルト値が使われるというように、継承された値が使われる場合があります。設定値に以下の様に書くと継承された値が使われます。

$(inherited)

文字列リストやパスリストなど、複数の値を使用可能な設定に対しては、$(inherited)を使って継承された値に追加するということもできます。

FLAGS = $(inherited) --no-timestamp

プラットフォーム別の設定

プラットフォーム別の設定を定義するときは、設定名に[プラットフォームの指定=値]の形式で指定します。定義されているのは次の2つです。

  • sdk : macos10.12iphoneos10.2などのクロスプラットフォームSDKを指定する。バージョン番号は*を使って任意の値にヒットさせることも可能。
  • arch : x86_64またはarm64

両方とも指定したいときは、設定名[sdk=macos10.12][arch=x86_64] = 値のように2つとも書きます。

他の設定ファイルを読み込む

他の設定ファイルに書かれている設定を読み込みたいときは、次のように書きます。

#include "Common.xcconfig"

この場合はCommon.xcconfigファイルが読み込まれる。読み込むファイルがないときは警告が表示されますが、#include?を使うと表示されません。

#include? "Option.xcconfig"

ビルド設定ファイルとターゲットの関連付け

ビルド設定ファイルを使用するには、どのファイルを使用するのかをXcodeで設定します。次のように操作します。

(1) プロジェクトの設定を表示する。

(2) Configurations内のビルド設定のディスクロージャーボタン(△アイコン)を開く。

プロジェクトの設定を表示する

(3) Noneと書かれているところをクリックすると、設定ファイルを選択できるので、使用する設定ファイルを選択する。例えば、Debug時のプロジェクトの設定にDebug.xcconfigファイルを割り当てる場合は、Debug内のプロジェクトの行のNoneをクリックし、Debugを選択する。

プロジェクトの設定に設定ファイルを割り当てる

設定可能な値

設定可能な値の一覧は、Apple デベロッパーサイトのドキュメントで公開されています。

Build Settings Reference | Apple Developer Documentation

スポンサーリンク
最新情報をチェックしよう!