バンドル ID (bundle ID)


バンドル ID は、システム全体を通して 1 つのアプリを一意に識別します。バンドル ID 文字列には、英数字 (A〜Z、a〜z、0〜9)、ハイフン (-)、およびピリオド (.) しか含められません。文字列は逆 DNS 形式である必要があります。バンドル ID では大文字と小文字が区別されます。


オペレーティングシステムはバンドル ID を使用して、与えられた設定が適用されるアプリを識別します。同様に、Launch Services はバンドル ID を使用して、特定のファイルを開くことができるアプリを特定し、与えられた ID で最初に見つかったアプリを使用します。バンドル ID は、またアプリの署名の検証にも使用されます。


Xcode では、バンドル ID は、情報プロパティリストリソースファイルおよび PRODUCT_BUNDLE_IDENTIFIER ビルド設定の基になる CFBundleIdentifier キーの値です。バンドル ID は、プロジェクトエディタの [一般(General)] ペインまたは [署名と機能 (Signing & Capabirities)] ペインで設定します。バンドル ID は、デバイスのプロビジョニングと機能の構成に使用されます。アプリにコード署名するには、バンドル ID が開発者アカウントのアプリ ID と一致しなければなりません。iCloud コンテナ ID には、明示的なアプリ ID と一致するバンドル ID が含まれていなければなりません。


App Store では、プロジェクト内のすべてのバンドルに一意のバンドル ID があり、すべての埋め込み実行可能バンドルに、バンドル ID の前に親バンドル ID が接頭辞として付いている必要があります。たとえば、バンドル ID が com.example.foo の iOS アプリに iOS 共有拡張機能が埋め込まれている場合、拡張機能のバンドル ID は com.example.foo で始まらなければなりません。


重要:バンドル ID は、App Store Connect に入力するバンドル ID と一致しなければなりません。ビルドを App Store Connect にアップロードした後、バンドル ID を変更したり、開発者アカウントで関連した明示的なアプリ ID を削除したりすることはできません。


ユニバーサル購入に関する考慮事項


ユニバーサル購入に含まれる iOS、macOS、及び tvOS アプリは、同じ App Store Connect レコードを使用し、同じバンドル ID を持っていなければなりません。


iPad アプリの macOS バージョンに関する考慮事項


iPad アプリの macOS バージョンの場合、macOS バンドル ID は iOS バンドル ID から取得されます。


コンパニオン iOS アプリを伴う watchOS アプリの考慮事項


同じプロジェクト内にコンパニオン iOS アプリがある watchOS アプリの場合、埋め込まれた WatchKit アプリと WatchKit 拡張ターゲットには、iOS アプリと同じバンドル ID 接頭辞が必要です。WatchKit アプリの形式は [Bundle ID].watchkitapp でなければならず、WatchKit 拡張機能の形式は [Bundle ID].watchkitextension でなければなりません。


iOS アプリのバンドル ID を変更する場合は、WatchKit アプリの WKCompanionAppBundleIdentifier キーと WatchKit 拡張機能の WKAppBundleIdentifier キーも一致するように変更してください。