App Delivery

iOS/macOS アプリを実際に世に出すまでの工程 — ビルド(archive)→ コード署名 → アップロード → 配布 → 審査 → リリース。Xcode で作り、App Store Review を通り、App Store(または EU の代替経路)に出すまでの「運ぶ」部分。2026年は API 駆動の自動化 が大きく前進した。

コード署名

Apple 配布の根幹。証明書(Certificate)+ プロビジョニングプロファイル(Provisioning Profile) の組み合わせで「誰が・どのアプリを・どの端末/経路で」配れるかを縛る。

配布チャネル

チャネル用途規模
App Store一般公開無制限
TestFlight(内部)チーム内ベータ〜100名
TestFlight(外部)公開ベータ〜10,000名($99/年の Developer Program に込み)
Ad Hoc / Development端末限定の手動配布登録端末のみ
Enterprise社内専用配布Apple Developer Enterprise Program
EU 代替経路代替マーケット / Web 配信DMA 体制参照

CI/CD と自動化

fastlane lane の最小例

Fastfile に lane(一連のアクションの並び)を定義する。Android 側が Gradle DSL + Secrets で署名→bundleRelease→supply を組むのと対になる、iOS の最小ベータ配信フロー:

# fastlane/Fastfile
default_platform(:ios)

platform :ios do
  lane :beta do
    match(type: "appstore")              # 共有リポジトリから証明書/プロファイルを同期
    build_app(scheme: "MyApp")           # = gym。archive → .ipa を生成
    upload_to_testflight                 # = pilot。TestFlight へ配信
  end
end

CI から fastlane beta で起動。認証は App Store Connect API Key を app_store_connect_api_key で渡し、match の復号パスフレーズや API Key の .p8 は 環境変数 / GitHub Secrets 経由(Android の Gradle キーストアと同じく、鍵をリポジトリに置かない)。

# API Key を Secrets から組み立てる例(CI 冒頭)
app_store_connect_api_key(
  key_id:      ENV["ASC_KEY_ID"],
  issuer_id:   ENV["ASC_ISSUER_ID"],
  key_content: ENV["ASC_KEY_P8"],        # .p8 の中身を Secret に格納
)

2026年の新要素

押さえどころ

関連

Graph