IOSの配置の際にバンドル識別子エラーが発生します
問題
iOSデバイスに作成したアプリケーションを配置すると次のようなバンドル識別子が一致しないという内容のエラーが発生します。
- バンドル識別子"<CFBundleIdentifierの値>"と選択されたプロビジョニング プロファイル内のAppID"<チームID>.<バンドルID>"が一致しません
- バンドル識別子"<バンドルID>"とAppID"<AppID>"(プロビジョニング プロファイル"<プロビジョニング プロファイル名>"内)が一致しません
- バンドル識別子"<バンドルID>"がどのプロビジョニング プロファイル内のAppIDとも一致しません
解説
バンドル識別子(バンドルID/App ID)とは、com.apple.AppStoreのような、アプリの識別の際に使用されるIDです。
このエラーは、Apple Developer Programでプロビジョニングプロファイルを作成する際に、指定した識別子と、アプリ側で指定されたものが一致していないために発生しています。主にワイルドカード(*)を使わない識別子の場合に発生します。
解決
「プロジェクト|オプション」でターゲットをiOSにし、CFBundleIdentifierの箇所を修正します。
デフォルトは$(ModuleName)です。これはビルドの際にプロジェクト名が代入されます。
App IDが「AAAAAA.com.domain.*」のようなワイルドカードApp IDであれば、「プロジェクト|オプション|バージョン情報」のCFBundleIdentifierがデフォルト「$(ModuleName)」の際は、一意識別子は com.domain.$(ModuleName)で生成されます。
App IDがワイルドカードを使用したIDを指定していない(たとえば AAAAAA.BBBBBBのような)場合は、「プロジェクト|オプション|バージョン情報」のCFBundleIdentifierの箇所を$(ModuleName)から、IDの値に変更してください。たとえば、バンドル識別子が hoge.com.TestAppであれば、CFBundleIdentifierの箇所はhoge.com.TestAppとします。