web-dev-qa-db-ja.com

Xcode-ビルド構成ごとに異なるバンドル識別子を設定するにはどうすればよいですか?

IOS Xcodeプロジェクト用に3つの異なるビルド構成がセットアップされています。 enter image description here

コード署名の管理を改善するために、構成ごとに異なるバンドルIDが必要です。以下は、ビルド設定での一般的なID設定、情報タブ設定、およびバンドルID設定です。

enter image description here

INFOセクション

enter image description here

ビルド設定-

enter image description here

一般セクションでバンドル識別子を直接更新すると、ビルド設定の値->製品バンドル識別子がすべてのビルド構成で上書きされます

これを管理するより良い方法を私に提案してください!!

14

私が見る限り、すでに各構成に対して個別のxcconfigファイルを設定しています。つまり、バンドルIDキーと対応する値を各ビルド構成/ xcconfigファイルに追加するだけです。

PRODUCT_BUNDLE_IDENTIFIER = com.mycomp.hockey

Xcodeプロジェクトのビルド設定でこれらのxcconfig設定を上書きしないようにする必要があります(対応する値は太字にしないでください)。

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

enter image description here

新しいスキームを作成するには、New schemeスキームセレクターから名前を選択します。例:MyApp [Hockey]。次に、スキームを編集し、各ステップの優先ビルド構成を選択します(例:MyApp [Hockey]Archiveステップ)。

enter image description here

ターゲット情報画面のバンドルIDは、選択したスキームに応じて変わることに気づくでしょう。場合によっては、プロジェクト設定の別のタブに切り替えてから、バンドルIDが変更される前に[情報]タブに戻る必要があります(多くのXcodeバグの1つ)。

すべてのプロジェクトでまったく同じアプローチを使用しています。

お役に立てば幸いです。

11
Jens Meder

イェンスの答えは私を少し混乱させました。あなたがしなければならないのは、xcconfig宣言された変数(PRODUCT_BUNDLE_IDENTIFIER = com.mycomp.hockey)からInfo.plist製品バンドルIDフィールド:

Info.plist variable example

また、すべてのxcconfigファイルで宣言することを忘れないでください。楽しい。

8
dvdblk