😊

X CodeにおけるBudle IDと検証/商用環境の設定

2024/07/05に公開

X Code初心者のためBundle IDと検証/商用環境の構築の仕方について
よく分からなかったので、自分で調べた結果を備忘録として記録する。

1. Bundle IDとは

ChatGPTの説明が分かりやすかったためコピペ

  1. 概要
    Bundle ID(バンドルID)は、iOSアプリケーションの一意の識別子で、アプリをAppleのエコシステム内で認識し管理するために使用されます。AppleのApp Storeにアプリを提出する際や、さまざまなAppleサービス(プッシュ通知、In-App Purchases、iCloudなど)を利用する際に必要です。

  2. Bundle IDの構成
    Bundle IDは逆ドメイン名形式で構成されます。例えば、com.example.myappのようになります。この形式には以下の部分が含まれます:
    ドメイン部分(com.example):通常は会社や開発者のドメイン名に対応します。
    アプリ部分(myapp):アプリケーションの名前や識別子です。

  3. Bundle IDの設定
    XcodeでのBundle IDの設定は以下の手順で行います:
    Xcodeプロジェクトを開く:開発中のプロジェクトをXcodeで開きます。
    プロジェクト設定に移動:ナビゲータペインの一番上にあるプロジェクトアイコンをクリックします。
    ターゲットを選択:プロジェクト設定の「Targets」セクションからアプリのターゲットを選択します。
    Generalタブを選択:ターゲット設定の「General」タブを開きます。
    Identityセクション:ここでBundle Identifierフィールドを見つけます。必要に応じてここにBundle IDを入力または編集します。

  4. Bundle IDの制約
    一意性:Bundle IDはAppleのエコシステム内で一意である必要があります。同じBundle IDを持つ複数のアプリは存在できません。
    正規性:英数字、ドット(.)、ハイフン(-)のみを使用できます。先頭や末尾にドットを使用することはできません。

  5. Apple Developerアカウントでの管理
    Apple Developerアカウントの「Certificates, Identifiers & Profiles」セクションで、アプリのBundle IDを管理します。ここでBundle IDを登録し、証明書やプロビジョニングプロファイルと関連付ける必要があります。
    登録手順:
    Apple Developerアカウントにサインイン。
    Certificates, Identifiers & Profilesセクションに移動。
    Identifiersを選択し、+ボタンをクリックして新しいBundle IDを作成。
    App ID Descriptionにアプリの名前を入力。
    App ID Prefixは自動的に設定されます。
    App ID Suffixに希望するBundle ID(逆ドメイン名形式)を入力。
    Capabilitiesを必要に応じて選択し、登録を完了。

  6. Bundle IDと証明書/プロビジョニングプロファイル
    Bundle IDはアプリの証明書およびプロビジョニングプロファイルと密接に関連しています。これにより、特定のデバイスにアプリをインストールしたり、App Storeに提出したりするための権限が付与されます。
    証明書:アプリをデジタル署名するために使用されます。
    プロビジョニングプロファイル:アプリを特定のデバイスにインストールするための許可を提供します。

  7. 変更の影響
    一度アプリがApp Storeにリリースされると、Bundle IDを変更することはできません。変更が必要な場合は、新しいアプリとして登録する必要があります。

2. 検証と商用ってどうやって分けるの?

Firebaseを使ってAppleAuthを構築していたのだが、どうもBundle IDが1つだけだと検証
と商用を分けるのが難しそう。
しかし、1つのプロジェクトにつき1つのBundle IDしか付与できなさそうなので、どうしたもんかと思っていたら、実は1つのプロジェクトにTARGETSというものを複数作成できるらしい。

  1. アプリ名 > TARGETS > 既存のTARGETを右クリック
  2. DUPLICATEボタンをクリック
  3. 複製したTARGETの名前をアプリ名-devとかに修正
  4. Signing & CapabilitiesからBundle Identifierを検証用に修正

これでBundle IDを検証と商用でそれぞれ作れた!!

Discussion