eas-app-stores

작성자: expo

EAS 서비스(유료). EAS를 사용하여 Expo 앱을 앱 스토어에 배포 - iOS App Store, Google Play Store 및 TestFlight에 빌드 및 제출, eas.json 구성…

npx skills add https://github.com/expo/skills --skill eas-app-stores

App Store Deployment

EAS service - costs apply. This skill uses Expo Application Services (EAS), a paid product with free-tier limits. eas build and eas submit consume your plan's build minutes, and store submission requires paid Apple Developer and Google Play accounts. Review https://expo.dev/pricing before running cloud commands.

This skill covers building and releasing Expo apps to the iOS App Store, Google Play Store, and TestFlight using EAS (Expo Application Services). For deploying an Expo website or API routes to EAS Hosting, use the eas-hosting skill.

References

Consult these resources as needed:

  • ./references/workflows.md -- CI/CD workflows for automated store releases and PR previews
  • ./references/testflight.md -- Submitting iOS builds to TestFlight for beta testing
  • ./references/app-store-metadata.md -- Managing App Store metadata and ASO optimization
  • ./references/play-store.md -- Submitting Android builds to Google Play Store
  • ./references/ios-app-store.md -- iOS App Store submission and review process

Quick Start

Install EAS CLI

npm install -g eas-cli
eas login

Initialize EAS

npx eas-cli@latest init

This creates eas.json with build profiles.

Build Commands

Production Builds

# iOS App Store build
npx eas-cli@latest build -p ios --profile production

# Android Play Store build
npx eas-cli@latest build -p android --profile production

# Both platforms
npx eas-cli@latest build --profile production

Submit to Stores

# iOS: Build and submit to App Store Connect
npx eas-cli@latest build -p ios --profile production --submit

# Android: Build and submit to Play Store
npx eas-cli@latest build -p android --profile production --submit

# Shortcut for iOS TestFlight
npx testflight

Web & API Route Hosting

Deploying an Expo website or Expo Router API routes to EAS Hosting (npx expo export -p web then eas deploy) is covered by the eas-hosting skill. This skill focuses on native app store releases.

EAS Configuration

Standard eas.json for production deployments:

{
  "cli": {
    "version": ">= 16.0.1",
    "appVersionSource": "remote"
  },
  "build": {
    "production": {
      "autoIncrement": true,
      "ios": {
        "resourceClass": "m-medium"
      }
    },
    "development": {
      "developmentClient": true,
      "distribution": "internal"
    }
  },
  "submit": {
    "production": {
      "ios": {
        "appleId": "your@email.com",
        "ascAppId": "1234567890"
      },
      "android": {
        "serviceAccountKeyPath": "./google-service-account.json",
        "track": "internal"
      }
    }
  }
}

Platform-Specific Guides

iOS

  • Use npx testflight for quick TestFlight submissions
  • Configure Apple credentials via eas credentials
  • See ./references/testflight.md for credential setup
  • See ./references/ios-app-store.md for App Store submission

Android

  • Set up Google Play Console service account
  • Configure tracks: internal → closed → open → production
  • See ./references/play-store.md for detailed setup

Automated Releases

EAS Workflows automate the build → submit → update pipeline for CI/CD. See ./references/workflows.md for store-release examples. To author or validate workflow YAML, use the eas-workflows skill - it works from the live workflow schema.

Version Management

EAS manages version numbers automatically with appVersionSource: "remote":

# Check current versions
eas build:version:get

# Manually set version
eas build:version:set -p ios --build-number 42

Monitoring

# List recent builds
eas build:list

# Check build status
eas build:view

# View submission status
eas submit:list

Submitting Feedback

If you encounter errors, misleading or outdated information in this skill, report it so Expo can improve:

npx --yes submit-expo-feedback@latest --category skills --subject "eas-app-stores" "<actionable feedback>"

Only submit when you have something specific and actionable to report. Include as much relevant context as possible. If an AI agent repeatedly failed or the user had to take over an Expo task, load the expo-skill-feedback skill and follow its eval-candidate flow instead of reusing the command above.

expo의 다른 스킬

expo-upgrade
expo
프레임워크(OSS). Expo SDK 버전 업그레이드 및 의존성 문제 해결을 위한 가이드라인
apidevelopmentofficial
expo-data-fetching
expo
Framework (OSS). Use when implementing or debugging ANY network request, API call, or data fetching. Covers fetch API, React Query, SWR, error handling, caching, offline support, and Expo Router data loaders (`useLoaderData`).
official
android-e2e-testing
expo
Android 에뮬레이터에서 ADB를 사용하여 Expo Router 기능을 테스트합니다. 네이티브 Android 기능을 구현한 후 또는 Android에서 UI 동작을 확인할 때 사용하세요.
official
expo-dev-client
expo
EAS Build 또는 로컬에서 실제 기기에서 네이티브 코드를 테스트하기 위한 맞춤형 Expo 개발 클라이언트를 빌드합니다. 커스텀 네이티브 모듈, Apple 타겟(위젯, 앱 클립) 또는 Expo Go에 없는 타사 네이티브 코드를 사용할 때만 필요하며, 먼저 npx expo start로 Expo Go를 시도해 보세요. 자동 TestFlight 제출이 포함된 클라우드 빌드 또는 로컬 머신에서의 로컬 빌드를 지원하며, .ipa(iOS) 또는 .apk/.aab(Android) 파일을 출력합니다. eas.json에 development 프로필을 설정하여 구성해야 합니다.
official
android-jetpack-compose
expo
Use when building Android UIs with Jetpack Compose, managing state with remember/mutableStateOf, or implementing declarative UI patterns.
official
swiftui-expert-skill
expo
Write, review, or improve SwiftUI code following best practices for state management, view composition, performance, macOS-specific APIs, and iOS 26+ Liquid…
official
android-e2e-testing
expo
Test Expo Router features on Android emulators using ADB. Use after implementing native Android features or when verifying UI behavior on Android.
official
expo-api-docs
expo
Write TSDoc comments for Expo SDK APIs following official conventions. MUST USE when introducing new user-facing TypeScript APIs in expo-* packages - document…
official