2016-10-18 3 views
5

iOS Xcodeプロジェクト用に3つの異なるビルド構成が設定されています。 enter image description hereXcode-さまざまなビルド構成に異なるバンドルIDを設定するにはどうすればよいですか?

より良いコード署名管理のために、構成ごとに異なるバンドルIDが必要です。私の一般的なアイデンティティ設定、情報タブ設定、ビルド設定の下のバンドル識別子設定は以下の通りです。

enter image description here

BUILDの[設定

enter image description here

セクション -

enter image description here

INFO私は一般的なセクション、ビルド設定の値に直接バンドル識別子を更新するとき - >製品バンドル識別子すべてのビルド構成に対してオーバーライドされます。

これを管理するよりよい方法を提案してください。

答えて

4

私が見る限り、設定ごとに個別のxcconfigファイルを設定しています。これは、各ビルド構成/ xcconfigファイルに対応する値とともにバンドル識別子キーを追加することができることを意味します。

PRODUCT_BUNDLE_IDENTIFIER = com.mycomp.hockey 

あなたは(対応する値を太字ではありません)Xcodeプロジェクトのビルド設定でこれらのxcconfig設定を上書きしていないことを確認する必要があります。

バンドル識別子をオンザフライで切り替える場合は、ビルド構成ごとに1つのスキームを作成すると便利です。そうすれば、Xcodeスキーマセレクタ(ビルド/実行ボタンの隣)で対応するスキームを選択することができます。

enter image description here

MyApp [Hockey]、例えば、ちょうど方式選択から New schemeを選択し、新しいスキームを作成し、名前を選択します。次に、スキームを編集し、各ステップの優先ビルド構成を選択します( Archiveステップの場合は MyApp [Hockey])。

enter image description here

あなたのターゲット情報画面のバンドル識別子は、選択された方式に応じて変更されることがわかります。バンドル識別子が変更される前に、プロジェクト設定の別のタブに切り替えてからInfoタブに戻る必要がある場合があります(多くのXcodeバグの1つです)。

私たちはすべてのプロジェクトで全く同じアプローチを採用しています。

希望に役立ちます。

+0

@ JensMeder-あなたの答えをありがとう。私はまだ別のxconfigファイルを使用していません。しかし、良いアプローチのように聞こえる。私はこれを試してみましょう。 1つの疑問 - それぞれのスキームごとに別々のxconfigファイルがある場合、一般的なセクションの "bundle Identifier"フィールドではどのような値を指定しますか? –

+0

短い答え:何も;-)。長い回答:[一般]タブの[バンドル識別子]フィールドに表示されるのは、実際にはビルド設定の値です。ビルド設定またはxcconfigファイルの値を変更するたびに、[全般]タブの値も変更されます。ビルド設定でバンドル識別子の値を変更することで、自分で試すことができます。一般値がこの新しい値に変更されることがわかります。 –

+0

ありがとうございました!私の質問にスクリーンショットが表示された場合、ビルド構成ごとにProduct Bundle Identifierの値が異なります。しかし、最初の値(com.mycomp.xyz)には一般的なセクションが設定されます。いいですか? –

関連する問題