Identifiers
Overview
Apple DeveloperのIdentifiersについてまとめたセクション。
App ID設定の推奨案
アプリID(Bundle IdentifierやPackage Name)をドメインに合わせる理由
AppleやGoogleのガイドラインにも「reverse domain-style identifier」を推奨する文言がある。
一意性の確保
App Store(iOS)や Play Store(Android)では、全世界で重複しないアプリIDが必要。
自分が管理しているドメイン(例:xxx.com や xxx.dev)をベースにすれば、自分だけが使える名前空間を自然に作れる。
たとえば com.xxx.xxx は、他の開発者が使うことはまずない。
信頼性・ブランドの明確化
AppleやGoogleのエコシステムでは、開発元が誰かを識別する手段としてもアプリIDが使われる。
ドメインに基づいていると、「あ、このアプリは xxx.com を持ってる開発者が作ってるな」と一目で分かる。
大規模な開発では、ブランドや会社名と一致させて信頼性を高めることがある(例:com.spotify.music、com.google.photos など)
Apple / Google の機能や証明書との整合性.
一部の機能(特にiOS)では、アプリIDと証明書や設定の整合性が求められる。
Appleでは com.xxx.xxxx のApp IDを Apple Developer Console に登録する際、証明書、プロビジョニングプロファイル、Push通知などと紐付く。
将来的にWebドメインと連携する(例:Universal Links, Sign in with Apple)場合にも、ドメインとアプリIDの整合性があるとやりやすい。
📌 つまり:後からWeb連携やiOS機能を追加する時に困らない。
もし「ドメインをまだ持っていないけど、将来的に取得したい」と思っている場合でも、その前提で com.naohito.xxx のように始めておくと、後からの切り替えが楽になる。
Bundle Identifier候補
com.xxx.xxx
com.xxx.xxx
jp.xxx.xxx
命名規則のポイント
- 逆ドメイン形式:
com.{organization}.{app-name} - 一意性: App Store全体で重複しない
- 将来性: 本番リリース時も使用可能
- シンプル: 覚えやすく入力しやすい
確認が必要な情報
- 現在のAndroid設定:
android/app/build.gradleのapplicationId - iOS設定:
ios/Runner.xcodeprojの現在のBundle Identifier - ドメイン所有: 使用したいドメインを所有しているか
推奨手順
- 現在の設定確認
- 統一されたBundle Identifier決定
- Apple Developer ConsoleでApp ID作成
- Provisioning Profile作成
現在のプロジェクトの設定を確認してから、最適なBundle Identifierを提案しますので、Act modeに切り替えていただけますか?
各種 Identifier の詳細
Apple Developer の Certificates, Identifiers & Profiles ページの各設定をまとめたもの
App IDs(アプリID)
アプリケーションを一意に識別するID。使用するAppleサービス(Push通知、iCloudなど)と紐付ける。プロビジョニングプロファイルの作成にも必要。
- 明示的 App ID:
com.example.myappのように特定アプリを識別。通知や課金などの機能が必要な場合はこちら。 - ワイルドカード App ID:
com.example.*のように複数アプリで共用可能。高度な機能は使えない。
Service IDs(サービスID)
Sign in with Apple をWebサイトで使う場合に必要。OAuth2のクライアントIDとして利用される。
Pass Type ID(パスタイプID)
Walletアプリに表示するクーポン・チケットなどの「パス」を管理するためのID。署名付きパスの生成に必要。
Order Type ID(注文タイプID)
Apple Payでの注文情報をWalletで扱うための識別子。注文に対してデジタル署名する証明書の発行に使う。
Website Push ID(ウェブサイトプッシュID)
SafariのWeb Push通知をmacOSに送るための識別子。プッシュ通知用の証明書とペアで使う。
iCloud Container(iCloudコンテナ)
CloudKitやiCloudストレージを使用するためのコンテナ識別子。アプリ間でデータを共有・同期する際に必要。
App Groups(アプリグループ)
複数アプリ間でデータを共有するためのグループ識別子。App Extension(例:Widget)との連携でも用いられる。
Merchant ID(マーチャントID)
Apple Payを利用するアプリ・Webサイトで決済を処理するためのID。決済処理証明書と紐付ける。
Media ID(メディアID)
Apple Music APIやShazamKitなど、メディア連携を行うアプリで利用。各APIとの連携には秘密鍵の生成が必要。
Map ID(マップID)
MapKit JSをWeb上で利用する際に必要な識別子。APIキーとセットで使われる。