目次
1. 結論:iOS公開で詰まるのは「Macと年会費」「Xcode 26必須化」「審査の読みにくさ」の3点
初めてiOSアプリをApp Storeに出すとき、コードを書く以外に必要なものは驚くほど多い。ただし、つまずく箇所はほぼ決まっている。
- Macが要る:Xcodeは macOS 上でしか動かない。Windows/Linux だけで完結させる正規ルートは存在しない。
- 年会費が要る:Apple Developer Program は 年99米ドル(日本ではおおむね年1万5千円前後、為替により変動)で、公開を続ける限り毎年かかる。[1] Google Play が登録料25米ドルの1回払いなのと構造が違う。[11]
- 2026年4月28日以降、Xcode 26 + iOS 26 SDK でのビルドが必須になった。古いXcodeで作ったバイナリは App Store Connect にアップロードできない。[2]
逆に、Androidで新規個人アカウントに課される「テスター12人が14日間連続でオプトイン」のような、リリース前の人数ノルマはiOSには存在しない。TestFlightでのベータ配布は強く推奨されるが、必須要件ではない。この点はiOSの方が明確に軽い。
本記事は、個人でAndroidアプリをGoogle Playに公開する完全ガイドのiOS版にあたる。同じ粒度で、登録から審査通過までを順に追う。
図1:iOS公開は6段階。Androidと違い、リリース前のテスター人数ノルマはない代わりに、SDKバージョンと審査ガイドラインの縛りが強い。
2. 準備:Apple Developer Programの登録と、Macという前提条件
2-1. 個人(Individual)と組織(Organization)の違い
登録時に個人か組織かを選ぶ。年会費はどちらも99米ドルで同額だが、App Storeに表示される販売者名が変わる。[1]
| 区分 | 販売者名の表示 | 必要なもの |
|---|---|---|
| 個人(Individual) | 登録した本人の氏名が公開される | 本人確認書類、支払い用カード |
| 組織(Organization) | 法人名が公開される | 法人格、D-U-N-S番号、法人の実在確認 |
個人開発者が見落としがちなのは、個人登録だと本名がApp Storeの販売者欄に出る点である。ハンドルネームで活動していても、この欄は本名になる。屋号や法人名で出したい場合は、法人を用意してOrganizationで登録する必要がある。
2-2. 年会費という「維持コスト」
Androidの25ドル1回払いと違い、Appleは毎年99ドルを払い続ける必要がある。会費が切れると、公開中のアプリはApp Storeから取り下げられる。趣味アプリを長期間放置したい場合、この違いは意外と効く。
なお、Appleは非営利団体・教育機関・政府機関向けに会費免除の制度を設けているが、個人開発者は対象外である。[3]
2-3. Macの用意
Xcodeは macOS 専用で、App Store への提出に必要な「アーカイブ」もXcode(または xcodebuild)でしか作れない。実機がないなら、Mac miniなどの中古機かクラウドMacサービスを検討する。Xcode 26 が動作する macOS のバージョン要件は、Xcodeのリリースノートで確認する。
図2:会費構造の違い。Appleは毎年99ドル、Googleは初回25ドルのみ。長く置くほど差が開き、Appleは失効時にアプリが取り下げられる。
3. ビルド:Xcode 26とiOS 26 SDKが必須になった
3-1. 2026年4月28日からのSDK要件
2026年4月28日以降、App Store Connect にアップロードするアプリは Xcode 26 以降でビルドし、iOS 26 / iPadOS 26 / tvOS 26 / visionOS 26 / watchOS 26 のSDKを使う必要がある。[2] これは「iOS 26 以上でしか動かない」という意味ではない。ビルドに使うSDKのバージョンの話であり、Minimum Deployments(対応する最低iOSバージョン)は別途自分で決められる。
ここを混同すると「iOS 26 SDK でビルドしたら古い端末を切り捨てることになるのでは」と誤解しやすい。実際には、iOS 26 SDK でビルドしつつ Minimum Deployments を iOS 17 などに設定すれば、古い端末にも配信できる。
3-2. 署名(Signing)は「自動」で構わない
Androidの Play App Signing に相当するのが、Appleの証明書とプロビジョニングプロファイルである。個人開発では、Xcodeの Automatically manage signing を有効にし、Apple ID を紐づければ証明書とプロファイルは自動生成される。手動管理が必要になるのは、CI/CDで署名する場合や、チームで鍵を共有する場合に限られる。
覚えておくべき対応関係は次のとおり。
| 概念 | iOS | Android |
|---|---|---|
| 配布パッケージ | .ipa(Xcodeがアーカイブから生成) | .aab(Android App Bundle) |
| 署名鍵の管理 | 証明書+プロビジョニングプロファイル(Apple管理) | Play App Signing(Google保管)+アップロード鍵 |
| 一意な識別子 | Bundle ID(例 com.example.myapp) | パッケージ名(例 com.example.myapp) |
| バージョン番号 | CFBundleShortVersionString + CFBundleVersion | versionName + versionCode |
Bundle ID は公開後に変更できない。ここはAndroidのパッケージ名と同じで、最初に落ち着いて決める。
3-3. アーカイブとアップロード
- Xcodeでビルド対象を Any iOS Device にする(シミュレータ向けではアーカイブできない)。
- Product → Archive を実行する。
- Organizer が開いたら Distribute App → App Store Connect を選ぶ。
- 検証が通ればアップロードされ、App Store Connect の TestFlight タブに数分〜数十分で現れる。
アップロード直後は「処理中」になり、そのままでは審査に出せない。処理完了を待つ。
3-4. 暗号化輸出コンプライアンスの申告
見落としやすいのが、Info.plist の ITSAppUsesNonExemptEncryption である。これを設定していないと、ビルドをアップロードするたびに「暗号化を使っているか」を手動で答えることになる。HTTPS通信しかしていない一般的なアプリは適用除外に該当することが多いが、該当可否は自分のアプリの実装で判断する。
4. App Store Connect:ストア掲載情報とスクリーンショット
4-1. アプリレコードの作成
App Store Connect で My Apps → + → New App からアプリレコードを作る。ここで、名前、プライマリ言語、Bundle ID、SKU(自分用の管理番号)を設定する。
4-2. スクリーンショットとアイコン
2026年時点の要件は、必要なサイズが以前より整理されている。[4]
| 素材 | サイズ | 補足 |
|---|---|---|
| App Store用アイコン | 1024×1024 px | 透過なし、sRGB のPNG/JPEG |
| iPhone スクリーンショット | 6.9インチ 1320×2868 px | 未提出なら6.5インチが必要。1枚以上必須 |
| iPad スクリーンショット | 13インチ 2064×2752 px | iPad対応を宣言した場合のみ必須 |
サイズが1pxでもずれると App Store Connect がファイルを弾く。書き出し設定は事前に固めておく。
なお、iPad対応を宣言しなければ iPad 用スクリーンショットは不要である。初回リリースを軽くしたいなら、iPhoneのみで出して後から広げる方が運用は楽になる。
5. プライバシー申告:App Privacyとプライバシーマニフェストは別物
ここは2026年時点で最もリジェクトされやすい領域なので、独立した章として扱う。
5-1. 3つの異なる「プライバシー」
| 名称 | 何をするものか | どこで設定するか |
|---|---|---|
| プライバシーポリシーURL | 公開された静的ページへのリンク | App Store Connect のアプリ情報 |
| App Privacy(栄養ラベル) | 収集するデータ種別の申告。ストアに表示される | App Store Connect の App Privacy [5] |
| プライバシーマニフェスト | PrivacyInfo.xcprivacy。使用API と収集データをコードに同梱して宣言 | Xcodeプロジェクト内のファイル [6] |
この3つは互いに矛盾してはいけない。2026年に多い指摘は、まさにこの不一致である。実装は広告IDを取得しているのに App Privacy では「収集しない」と申告している、といったケースが典型的にリジェクトされる。
5-2. アカウント削除の実装義務
アカウント作成機能を持つアプリは、アプリ内からアカウントを削除できる導線を用意する義務がある。問い合わせフォーム経由の削除だけでは不十分と判断されることがある。
5-3. ATT(App Tracking Transparency)
他社アプリ・サイトをまたいでユーザーを追跡する場合、Apple標準のATTダイアログで許諾を取る必要がある。自前で作った独自ダイアログで代替するとリジェクト対象になる。
図3:プライバシー関連は3層ある。3つの申告内容と実装が食い違うと、そこがリジェクト理由になる。
5-4. 年齢レーティングの再回答(2026年1月期限だったもの)
Appleは2025年に年齢レーティングを刷新し、従来の 4+ / 9+ / 12+ / 17+ に代えて 13+ / 16+ / 18+ を追加、12+ と 17+ を廃止した。開発者には新しい質問票への回答が求められ、2026年1月31日が期限とされた。未回答のアプリは新規申請・アップデートがブロックされる。[7] これから新規に登録する場合は、最初から新しい質問票に答えることになる。
6. TestFlight:内部100人はすぐ、外部1万人は審査あり
TestFlightには性質の異なる2つの枠がある。ここを取り違えると「なぜテスターに届かないのか」で時間を失う。
| 枠 | 人数 | ベータ版審査 | 配布までの体感 |
|---|---|---|---|
| 内部テスター(Internal) | App Store Connect ユーザー最大100人 | 不要 | ビルド処理後、数分で配布可能 |
| 外部テスター(External) | 最大10,000人(リンク/メール招待) | 必要(Beta App Review) | 2026年時点で概ね数日 |
内部テスターは「App Store Connect にユーザーとして招待した人」に限られる。友人にただメールアドレスを聞いて追加する、という使い方はできない。不特定多数に配りたいなら外部テスター枠を使い、Beta App Review を通す。[8]
Androidと違い、TestFlightでのテストは公開の必須条件ではない。ただし、実機での動作確認なしに審査へ出すのは無謀なので、実務上は内部テスターだけでも通しておくのが妥当である。
図4:内部枠は審査なしで即日、外部枠はBeta App Reviewを挟む。人数の上限も100人と10,000人で桁が違う。
7. 審査提出とリリース:時間の読み方と、落ちやすい定番
7-1. どれくらいで審査が終わるのか
Appleは「提出の大半は24時間以内にレビューされる」と説明している。[9] ただし、実務では数日かかることも珍しくなく、2026年前半には長期の遅延報告も出ている。「24時間で通る前提」でリリース日を約束しないことが現実的な構えである。
急ぎの事情がある場合は Expedited Review(優先審査)を申請できるが、アカウントあたりの回数が限られるため、本当の緊急時に温存しておく。
7-2. 2026年に落ちやすいポイント
公開されている審査ガイドラインと、各所で共有されている傾向をまとめると、個人開発者が踏みやすい地雷は次のあたりに集中している。[10]
| ガイドライン | 内容 | 個人開発でありがちな原因 |
|---|---|---|
| 1.5 サポートURL | サポートURLが機能していない | 用意したページが404、または準備中のまま |
| 5.1.1 プライバシー | ポリシー欠落、申告と実装の不一致 | App Privacyの回答が実装と食い違う |
| 4.2 最低限の機能 | 機能が乏しい、実質Webサイトの表示のみ | WebViewでサイトを包んだだけのアプリ |
| 2.1 完全性 | 審査時に動かない、情報不足 | テスト用アカウント未提供、ログインで詰む |
とくに 4.2(Minimum Functionality) は、既存Webサイトをアプリ化しようとする個人開発者が最も踏みやすい。ネイティブ機能との統合や、アプリならではの体験を足しておく必要がある。
また、ログインが必要なアプリでは、審査担当者用のデモアカウントを App Review Information 欄に必ず書く。ここが空だと「動作確認できない」で 2.1 を理由に返される。
7-3. リリースの出し方
審査を通過したあと、公開タイミングは選べる。
- 手動リリース:承認後、自分のタイミングで公開する。初回はこれが安全。
- 自動リリース:承認され次第すぐ公開する。
- 段階的リリース(Phased Release):アップデート向けに、7日かけて配信範囲を自動で広げる。Androidの段階的ロールアウトに相当する。
初回公開では段階的リリースは使えない(アップデート向けの機能)。初回は手動リリースにして、ストア表示を自分の目で確認してから公開するのが無難である。
8. Google Playとの違いを一枚で把握する
同じ「個人でアプリを公開する」でも、要求されるものは対称ではない。
| 観点 | iOS / App Store | Android / Google Play |
|---|---|---|
| 登録料 | 年99米ドル(継続) | 25米ドル(1回のみ) |
| 開発機 | Mac必須 | Windows / macOS / Linux いずれも可 |
| 配布形式 | .ipa | .aab |
| ビルド要件 | Xcode 26 + iOS 26 SDK(2026年4月28日〜) | ターゲットAPI 36(2026年8月31日〜) |
| 公開前テスト義務 | なし(TestFlightは任意) | 新規個人アカウントは12人×14日が必須 |
| 審査 | 人手のレビューが基本。数時間〜数日 | 自動+人手。数日 |
| 段階的リリース | アップデートのみ7日間 | 初回から割合指定で可能 |
iOSは入口(費用とMac)が重く、Androidは出口(テスト要件)が重い、と整理すると分かりやすい。両方に出す予定があるなら、Androidのクローズドテスト14日間を回している間にiOSの審査を進める、という並行運用が時間効率がよい。
図5:重さの位置が違う。iOSは入口(年会費とMac)、Androidは出口(12人×14日のクローズドテスト)に負荷が寄っている。
9. そのまま使えるチェックリスト
登録とビルド
- [ ] Apple Developer Program に登録(個人/組織を選択。個人は本名が公開される)
- [ ] Xcode 26 以降、iOS 26 SDK でビルドできる状態にする
- [ ] Bundle ID を確定する(公開後は変更不可)
- [ ]
Minimum Deploymentsで対応する最低iOSバージョンを決める - [ ] Automatically manage signing で証明書とプロファイルを用意
- [ ]
ITSAppUsesNonExemptEncryptionをInfo.plistに設定 - [ ] Product → Archive → Distribute App でアップロード
ストア掲載情報
- [ ] アイコン 1024×1024(透過なし、sRGB)
- [ ] iPhone 6.9インチ 1320×2868 のスクリーンショット
- [ ] iPad 13インチ 2064×2752(iPad対応を宣言した場合のみ)
- [ ] 説明文、キーワード、サポートURL(実際に開けること)
- [ ] プライバシーポリシーURL(公開された静的ページ)
プライバシーと審査対策
- [ ] App Privacy(栄養ラベル)を実装と一致させて回答
- [ ]
PrivacyInfo.xcprivacyを同梱し、使用APIを宣言 - [ ] アカウント作成機能があるなら、アプリ内にアカウント削除導線を実装
- [ ] 追跡を行うなら Apple標準のATTダイアログを実装
- [ ] 年齢レーティングの質問票に回答
- [ ] App Review Information にデモアカウントと補足説明を記入
テストとリリース
- [ ] 内部テスター(最大100人)で実機確認
- [ ] 必要なら外部テスター枠(最大10,000人)でBeta App Reviewを通す
- [ ] 初回は手動リリースにして、公開前にストア表示を確認
- [ ] アップデート以降は段階的リリース(7日)を活用
10. まとめ
iOSの公開でつまずくのは、コードではなく前提条件と申告の整合性である。Macと年会費という入口のコストを飲み込み、Xcode 26 / iOS 26 SDK でビルドし、プライバシー関連の3層(ポリシーURL・App Privacy・プライバシーマニフェスト)を実装と一致させる。ここまで揃えば、審査は一気に通りやすくなる。
Androidと違って公開前のテスター人数ノルマがない分、リリースまでの最短距離はiOSの方が短い。一方で、毎年99ドルを払い続けないと公開が維持できないという継続コストは、趣味の個人開発では無視できない。この2点を理解したうえで、どちらから出すかを決めるとよい。
Android側の手順は個人でAndroidアプリをGoogle Playに公開する完全ガイドにまとめてある。両方に出すなら、あわせて読んでほしい。
参考文献・出典
- [1]Apple Developer, Apple Developer Program — What's included. ↩
- [2]Apple Developer, Upcoming requirements. ↩
- [3]Apple Developer, Fee waivers. ↩
- [4]Apple, Screenshot specifications — App Store Connect Help. ↩
- [5]Apple Developer, App privacy details on the App Store. ↩
- [6]Apple Developer, Privacy manifest files. ↩
- [7]Apple Developer, Updated age ratings in App Store Connect. ↩
- [8]Apple Developer, TestFlight. ↩
- [9]Apple Developer, App Review. ↩
- [10]Apple Developer, App Store Review Guidelines. ↩
- [11]Google Play Console Help, Open a Play Console developer account. ↩

NEW NOVEL 2026/08/01
曇りグラス
磨くってのは、力じゃない。
『世界が少し遠くなった』第二巻。前作の一年後を描く、ここからでも読める五つの短編です。
Amazonで読む
自叙伝ドットコム
あなたの人生は書く価値がある。
AIにだから語れる、本当の自分がある。記憶の断片を拾い集め、ひとつの物語へ。
覗いてみる関連記事
ChatGPT Proが個人開発におすすめな本当の理由
Cursor Ultraを使い切った実体験をもとに、ChatGPT ProとCodexが個人開発者にとってなぜコストパフォーマンスの高いAI開発環境なのかを比較します。
iOS 26.3と26.4ベータが示す二つの軸
iOS 26.3の相互運用性強化とiOS 26.4ベータの基盤更新を軸に、Siri刷新とGemini統合の本質を整理します。
同じAIモデルを使っても「賢さ」が変わる秘密:IDEの裏側に隠されたプロンプト変換と自律ループの正体
「同じClaude Opus 5を使っているのになぜ結果が違うのか?」——モデルと人間の間に介在するIDE(中間層)が裏側で行っている「黒魔術(コンテキスト注入、プロンプト変換、隠されたLGTMループ)」を徹底解剖。Cursor、Claude Code、Devin Desktop、ChatGPT Codexのアーキテクチャの違いを深掘りします。
ベンチマーク王は、なぜ現場でコードを壊すのか|Google Antigravityが流行らない本当の理由
Google Antigravityはなぜ現場でデグレードを起こすのか。月額2,900円の圧倒的コスパと、天下のGoogleがAIエージェント開発で出遅れた謎を、モデルの知能と製品品質の違いから徹底解剖する。
Windowsに最初から入っている便利機能──PowerToys・winget・God Modeで日常操作を速くする【2026年版】
PowerToys、winget、God Mode、Problem Steps Recorder、Efficiency Modeなど、Windows 11に標準搭載またはMicrosoft公式に無料提供されているのに意外と知られていない便利機能を、実際の使い方つきでまとめました。
