Skip to main content

Apple Tools

Overview

Appleで開発するために必要となるツールをまとめるセクション。

Apple アプリを開発するためにインストールする公式アプリ

業務用iOSアプリに関わるエンジニアや現場担当者が入れておくべき Apple 公式アプリが5つある。

  • Apple Configurator
  • TestFlight
  • App Store Connect
  • Apple Developer
  • Apple Business Essentials
caution

Apple Business Essentials はまだ日本でサービスが提供されていない。
日本提供も時間の問題と言われている。

アプリ新規作成の流れ

App Store Connect でアプリを新規作成する前に、Apple Developer の「Certificates, Identifiers & Profiles」で App ID(バンドルID)を事前に登録しておく必要がある。

以下が「App ID(バンドルID)」登録の流れと各オプションの意味

🔹 Certificates, Identifiers & Profiles > Identifiers > Register an App ID

1. Platform

  • 対象のプラットフォームを選びます(iOS, macOS, visionOSなど)。
  • 通常は iOS または iOS + iPadOS を選択。

2. App ID Prefix

  • 自動的に自分の Team ID(例:N3CM9B2V4Z)が表示されます。
  • これは変更不可で、すべての App ID の共通の接頭辞になります。

3. Description

  • この App ID の表示名(管理用)。
  • 例:Nijisanji Fan App など。

4. Bundle ID(バンドルID)

Explicit(明示的)

  • 推奨。1つのアプリに対して固有のIDを設定します。
  • 例:com.anycolor.nijifan
  • この形式でないと、プッシュ通知やApp Groupsなどの機能が使えません。

5. App Services

  • このApp IDで使用する機能をチェックします:
  • Push Notifications
  • Sign In with Apple
  • Associated Domains(例:Universal Links)
  • App Groups など
  • 必要なものだけを選択すればOKですが、あとから編集も可能です。

✅ 最終的な操作の流れ(簡易)

  1. Apple Developer > Identifiers にアクセス
  2. 「+」を押して Register a new App ID を開始
  3. Platform・App ID Prefix・Description・Bundle ID(Explicit)を入力
  4. 必要な App Services にチェック
  5. 「Continue」→ 内容を確認して「Register」で完了
caution
  • この「バンドルID」はXcodeプロジェクトの設定(Signing & Capabilities > Bundle Identifier)と完全一致させてください。
  • 一度登録した App ID は削除できません(使わなくてもずっと残ります)。
  • 同じバンドルIDで別のApp IDは作れない。

とても良い疑問です! バンドルIDが変更できないという制約がある中で、開発・検証用アプリ(dev/stg/prodなど)をどう区別するかは、iOS開発者にとって重要な設計ポイントです。

✅ 結論:環境ごとに別のバンドルIDを使うのが一般的

✔️ よくある命名パターン

環境 バンドルID の例 本番(prod) com.anycolor.nijifan ステージング com.anycolor.nijifan.stg 開発(dev) com.anycolor.nijifan.dev 社内テスト com.anycolor.nijifan.internal

バンドルIDが違えば、それぞれ別アプリとして扱われるので、App Store への公開可否・TestFlightでの配信可否も別々に設定できます。

🔄 バンドルIDによる環境分離の理由

理由 説明 App Storeに出す際は変更不可 一度App Store Connectに登録したバンドルIDは変更できない プロビジョニングプロファイルと紐づく 各バンドルIDは証明書・プロファイルと紐づいている Push通知やKeychainはバンドルID単位 特にPush NotificationやKeychainは App Group をまたげないことが多い 複数環境を同時にインストール可 バンドルIDが違えば iOS端末に複数の同じアプリが共存できる

🛠 Xcodeでの実装:ビルド構成を使い分ける • Xcode の Build Configuration(Debug / Release / Staging) を使って、 • PRODUCT_BUNDLE_IDENTIFIER を切り替える • xcconfig ファイルで com.anycolor.nijifan.dev のように設定分けをする

例:project-dev.xcconfig

PRODUCT_BUNDLE_IDENTIFIER = com.anycolor.nijifan.dev

✅ まとめ

本番と開発用でアプリを分けたいときは、バンドルIDを分けて、それぞれ Apple Developer に App ID 登録しておくのがベストプラクティスです。

必要なら、複数環境の構成管理テンプレート(xcconfigやScheme設定)も紹介できますよ!

はい、そのとおりです。

結論から言うと:

✅ 本番(prod)、開発(dev)、ステージング(stg)など、環境ごとに別のアプリ(≒バンドルID)として App Store Connect 上でも登録が必要です。

💡 なぜ環境ごとに「別のアプリ」扱いになるのか?

Appleのアプリ識別は バンドルID(Bundle Identifier)単位です。 そのため、以下のようになります:

バンドルID App Store Connect上での扱い 端末へのインストール com.anycolor.nijifan 本番用アプリ 1つのアプリとして認識 com.anycolor.nijifan.dev 開発用アプリ 本番と別アプリとして共存可能 com.anycolor.nijifan.stg ステージング用アプリ 同上

✅ 結果としてやるべきこと

開発環境/ステージング環境で動かすアプリごとに:

  1. Apple Developer Portal(Certificates, Identifiers & Profiles)で App ID を作成 • com.anycolor.nijifan.dev など
  2. App Store Connect で「新規アプリ」として登録 • 名前に [Dev] や [Staging] を付けるのが一般的
  3. 必要に応じて TestFlight で社内配信

📌 よくある構成例(開発フロー)

環境 バンドルID 登録先 配信方法 開発用 com.anycolor.nijifan.dev Apple Dev + Store Connect TestFlight ステージング com.anycolor.nijifan.stg Apple Dev + Store Connect TestFlight 本番 com.anycolor.nijifan Apple Dev + Store Connect App Store公開

補足:環境を分けない運用もあるけど… • **「バンドルIDは1つだけで、設定ファイルやリモートConfigで環境切り替え」**も技術的には可能。 • ただし、その場合は1環境しか同時インストールできないという制約が発生します(devとprodを同時に使えない)。 • Appleの審査提出やTestFlight配信で混乱しやすいので、バンドルID分離が圧倒的に管理しやすいです。

💬 まとめ:

本番・開発・ステージングの各環境ごとに、Apple Developer/Store Connect 上で別アプリ(別バンドルID)として作るのが基本です。

この方針でいけば、今後の運用・配信・検証がめちゃくちゃスムーズになります。構成テンプレが欲しければお渡ししますよ!