Skip to main content

Identifiers

Overview

Apple DeveloperのIdentifiersについてまとめたセクション。

App ID設定の推奨案

tip

アプリ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全体で重複しない
  • 将来性: 本番リリース時も使用可能
  • シンプル: 覚えやすく入力しやすい

確認が必要な情報

  1. 現在のAndroid設定: android/app/build.gradleのapplicationId
  2. iOS設定: ios/Runner.xcodeprojの現在のBundle Identifier
  3. ドメイン所有: 使用したいドメインを所有しているか

推奨手順

  1. 現在の設定確認
  2. 統一されたBundle Identifier決定
  3. Apple Developer ConsoleでApp ID作成
  4. 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キーとセットで使われる。