2012-01-23 3 views
11

私はdebugpreviewreleaseのプロジェクトにthree different configurationsを設定しました。 Xcodeには、設定ごとに異なる.xconfigファイルを指定するオプションがありません。私は現在、どのような状況で使用すべきか、使用することができるのか、設定ごとにbuild settingsを編集するだけで何の利点があるのか​​疑問に思っています。.xcconfigファイルを使用する場合

答えて

8

作成するプロジェクトごとに同じビルド設定を変更する場合は、xcconfigファイルを使用します。変更しているビルド設定をxcconfigファイルに置きます。 xcconfigファイルを使用すると、プロジェクトを作成するたびにこれらのビルド設定を編集する必要がなくなります。

ビルド構成ごとに異なるxcconfigファイルを使用するオプションを使用すると、常に変更されているデバッグビルド設定を1つのxcconfigファイルに配置し、変更するリリースビルド設定を別のxcconfigファイルに配置できます。変更するビルド設定にデバッグビルドとリリースビルドの値が異なる場合、またはビルドビルドのビルド設定とビルド設定のみを変更する場合は、複数のxcconfigファイルを使用します。

+0

Proのヒント:これらのファイルの中に '#include" shared.xcconfig_include "を使用して、リリース/デバッグファイルに共有オプションを含めることができます。 –

2

私がxcconfigファイルを使用した方法の1つは、iPhoneアプリケーション用に異なるBundleIdを設定することです。そうすれば、異なる機能/サーバーを有効にした異なるアプリを使用することができます。非常に役立ちます。 BundleIdに変数名を使用することが含まれます。

+3

例を追加できますか? – Besi

5

あなたが@Besiの例について質問したことはありませんが、BundleIdの変更が少なくとも私のために有用である理由を説明したいと思います。

"開発"、 "アドホック"、 "App Store"の要件が異なる場合、たとえばプッシュ通知を送信する必要があるため、プッシュ証明書はバージョンによって異なります。

この場合、3つの異なるXCodeスキームを作成することができます。選択したスキームに応じて、バンドル識別子が変更されるため、異なる種類のバージョンがコンパイルされます。

これにxcconfigを使用して、「コード・サインID」を選択し、想像できるすべてのビルド設定を選択することができます。この方法は、重複を回避し、設定を互いに上書きする方法をカスタマイズできるため、plistファイルとビルド設定が異なる各バージョンごとに異なるターゲットを持つよりも正確です。

申し訳ありませんが、これは非常に畳み込まれている場合、私はプロセスで元の質問に応答しようとしました。

+0

Xcodeスキームに基づいてバンドル識別子を正確にどのように変更しますか?ビルド前のアクション? – Legoless

関連する問題