記事

ExpoアプリをApp Storeに公開する

Apple Developerへの登録からApp Storeの審査まで、Expoアプリを公開する手順を解説します。

ExpoアプリをApp Storeに公開する

ExpoアプリをGoogle Playで公開する手順はすでに経験しました。その記事を読んだ方ならご存じのとおり、Google PlayとApp Storeは大きく異なります。Appleには独自のエコシステム、ツール、審査プロセスがあり、独特な難しさもあります。

この記事では、Apple Developerアカウントの作成から「審査に提出」をクリックするまで、ExpoアプリをiOS App Storeで公開する手順を順を追って説明します。始める前に知っておきたかったことをまとめました。

事前準備

始める前に、以下を用意してください。

  • 動作するExpoプロジェクト(ManagedまたはBareワークフロー)
  • Mac、またはその利用環境。iOSアプリをネイティブにビルドするにはmacOSが必要ですが、EAS Buildを使えば回避できます。
  • Xcode(最新の安定版)
  • Apple ID

❇️ ステップ1:Apple Developer Programに登録する

最初のハードルです。Androidの一度限りの25ドルとは異なり、Appleは年間99ドルを請求します。

  1. アクセス developer.apple.com
  2. 「Account」をクリックし、Apple IDでサインイン
  3. Apple Developer Programに登録
  4. 個人または組織の情報を入力
  5. 99ドルを支払う

登録が承認されると、App Store ConnectとApple Developer Portalを利用できます。以降の作業で使う2つの主要な管理画面です。

❇️ ステップ2:App Store Connectでアプリを設定する

App Store Connectでは、アプリの掲載情報、ビルド、価格、提出を管理します。

  1. アクセス appstoreconnect.apple.com
  2. 「+」ボタンをクリックし、「新規App」を選択
  3. アプリの詳細を入力:
    • プラットフォーム:iOS
    • 名前:アプリの表示名(変更が難しいため慎重に決めましょう)
    • Bundle ID:Expo設定の値と完全に一致させる
    • SKU:一意の内部識別子
  4. 「作成」をクリック

App Store Connectにアプリのレコードが作成されました。まだビルドはなく、アプリの入れ物だけが用意されています。

❇️ ステップ3:ExpoプロジェクトをiOS向けに設定する

app.json(またはapp.config.js)を開き、iOSセクションが完成していることを確認します。

{
  "expo": {
    "name": "Your App Name",
    "slug": "your-app-slug",
    "version": "1.0.0",
    "ios": {
      "bundleIdentifier": "com.yourname.yourapp",
      "buildNumber": "1",
      "supportsTablet": true,
      "infoPlist": {
        "NSCameraUsageDescription": "We need camera access to...",
        "NSPhotoLibraryUsageDescription": "We need photo access to..."
      }
    }
  }
}

特に次の点を確認してください。

  • bundleIdentifierはApp Store Connectに登録した値と完全に一致させます。
  • バージョンが同じでも、アップロードごとにbuildNumberを増やします。
  • アプリで使用するすべての権限を、明確な説明とともにinfoPlistに追加します。説明がない、または曖昧な場合、Appleに却下されることがあります。

❇️ ステップ4:証明書とプロビジョニングプロファイルを管理する

AppleがAndroidと最も異なる部分で、多くの開発者が時間を費やすところです。必要なものは2つあります。

  • 配布証明書:ビルドが自分によって作成されたことを証明
  • プロビジョニングプロファイル:アプリのBundle IDと証明書を結び、配布を許可

方法A:EASに任せる(推奨)

EAS Buildを使えば、これらをすべて自動で管理できます。

npx eas-cli credentials

EASからAppleアカウントへのサインインを求められ、その後必要なものを生成・保存します。

方法B:XcodeまたはApple Developer Portalで手動設定

  1. Apple Developer Portalで「Certificates, IDs & Profiles」を開く。
  2. 新しいiOS配布証明書を作成する。
  3. Bundle Identifierに一致するApp IDを作成する。
  4. 両者を紐付ける配布用プロビジョニングプロファイルを作成する。

💡 学んだこと:可能であれば複数の開発者証明書を管理しないようにしましょう。Appleはアカウントごとに数を制限しており、証明書を失効させると、それを使うプロビジョニングプロファイルも無効になります。

❇️ ステップ5:アプリをビルドする

EAS Buildを使う(推奨)

npm install -g eas-cli
eas login
eas build:configure

本番用にeas.jsonを設定します。

{
  "build": {
    "production": {
      "ios": {
        "distribution": "store"
      }
    }
  }
}

次にビルドを開始します。

eas build --platform ios --profile production

EASはクラウド上でアプリをビルドし、コード署名を行い、アップロード可能な.ipaファイルを用意します。この手順にMacは不要です。

Xcodeを使う(ローカルビルド)

npx expo run:ios --configuration Release

またはXcodeでios/フォルダを開き、ターゲットに「Any iOS Device」を選択して、Product → Archiveを実行します。

❇️ ステップ6:ビルドをApp Store Connectにアップロードする

方法A:EAS Submit(最も簡単)

eas submit --platform ios --latest

方法B:Transporter — Mac App Storeからダウンロードしてサインインし、.ipaファイルを追加して「Deliver」をクリックします。

方法C:Xcode Organizer — アーカイブ後にWindow → Organizerを開き、アーカイブを選択してDistribute App → App Store Connect → Uploadを実行します。

❇️ ステップ7:TestFlightでテストする

App Storeに提出する前に、必ずTestFlightでテストしましょう。

  1. App Store ConnectでTestFlightを開きます。
  2. ビルドの処理後、内部テスターを追加します(チームから最大100人)。
  3. 外部テスターの場合、先にベータ版App審査へ提出します(通常1〜2日)。

❇️ ステップ8:App Storeの掲載情報を準備する

Appleへの提出前に、以下をすべて用意する必要があります。

  • 名前(最大30文字)とサブタイトル(最大30文字)
  • カテゴリ(メインと任意のサブカテゴリ)
  • プライバシーポリシーのURL(必須)
  • 説明文(最大4,000文字。冒頭の数行が重要です)
  • キーワード(合計最大100文字、カンマ区切り)

スクリーンショット — Appleが指定するサイズ:

  • iPhone 6.9インチ(iPhone 16 Pro Max)— 必須
  • iPhone 6.7インチ(iPhone 14 Plus / 15 Plus)— 任意ですが推奨
  • iPad Pro 13インチ(M4)— iPadに対応する場合は必須

❇️ ステップ9:価格と配信地域を設定する

  1. 「価格および配信状況」を開きます。
  2. 「無料」を選ぶか、価格帯を設定します。
  3. アプリを配信する地域を選択します(初期設定はすべての地域)。
  4. 必要に応じて配信開始日を設定します。

❇️ ステップ10:Appのプライバシーに関する質問に回答する

Appleはデータの取り扱いについて申告を求めます。この情報はApp Storeページのプライバシーラベルに表示されます。App Store Connectで「Appのプライバシー」を開き、収集するデータ、ユーザーの身元との関連付け、トラッキングへの利用について正確に回答してください。

❇️ ステップ11:審査に提出する

「審査に関する情報」にAppleの審査担当者へのメモを記入します。ログインが必要なアプリの場合は、ここにテスト用の認証情報を入力します。その後、「審査に追加」→「App審査に提出」を選択します。

❇️ ステップ12:リリースする!

承認されると、アプリのステータスは「販売準備完了」になります。提出時に次のいずれかを選択できます。

  • 手動リリース:公開するタイミングを自分で決めます。
  • 自動リリース:承認後すぐにアプリが公開されます。

🎉 おめでとうございます。アプリがApp Storeで公開されました。

❇️ まとめ

App Storeの手続きはGoogle Playより分かりにくいものの、一度経験すれば次回以降はずっとスムーズです。特に時間がかかるのは次の点です。

  1. 証明書とプロビジョニング — EASに任せましょう。
  2. スクリーンショット — デザインに十分な時間を確保しましょう。
  3. 初回審査 — 1〜3日を見込み、クラッシュがないか確認しましょう。

Appleのエコシステムは習得に時間がかかりますが、App Storeのユーザー層には大きな価値があります。公開後は高い品質基準も強みになります。リリース頑張ってください!🚀

この記事が役に立ったら、こちらもご覧ください: ExpoアプリをGoogle Playで公開する — Android向けの手順を同じように解説しています。私のアプリは vladsiu.com.