Apple Tools
Overview
Appleで開発するために必要となるツールをまとめるセクション。
Apple アプリを開発するためにインストールする公式アプリ
業務用iOSアプリに関わるエンジニアや現場担当者が入れておくべき Apple 公式アプリが5つある。
- Apple Configurator
- TestFlight
- App Store Connect
- Apple Developer
- Apple Business Essentials
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ですが、あとから編集も可能です。
✅ 最終的な操作の流れ(簡易)
- Apple Developer > Identifiers にアクセス
- 「+」を押して Register a new App ID を開始
- Platform・App ID Prefix・Description・Bundle ID(Explicit)を入力
- 必要な App Services にチェック
- 「Continue」→ 内容を確認して「Register」で完了
- この「バンドル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 ステージング用アプリ 同上
⸻
✅ 結果としてやるべきこと
開発環境/ステージング環境で動かすアプリごとに:
- Apple Developer Portal(Certificates, Identifiers & Profiles)で App ID を作成 • com.anycolor.nijifan.dev など
- App Store Connect で「新規アプリ」として登録 • 名前に [Dev] や [Staging] を付けるのが一般的
- 必要に応じて 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)として作るのが基本です。
この方針でいけば、今後の運用・配信・検証がめちゃくちゃスムーズになります。構成テンプレが欲しければお渡ししますよ!