mcpField
A
app-store-deployment

app-store-deployment

github.com/secondskyクラウド・DevOps240430 回インストール5 週間前に更新
リポジトリ

app-store-deployment について

iOS App Store と Google Play にアプリを公開するモバイル開発者向けの手順ガイドです。ビルド、署名、バージョン管理、公開前の確認事項を扱います。

主な機能

  1. 01iOS のアーカイブとアップロード手順
  2. 02Android リリースバンドルのビルド
  3. 03バージョン番号の管理
  4. 04公開前チェックリスト
  5. 05GitHub Actions のデプロイ例

活用シーン

  1. 01iOS アプリの公開準備
  2. 02Android リリースバンドルの作成
  3. 03アプリストア公開要件の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/secondsky/claude-skills --skill app-store-deployment

インストール後、Claude Code で/app-store-deploymentを入力して読み込まれたか確認します。

詳細

App Store へのデプロイ

適切な手順で、iOS App Store と Google Play にモバイルアプリを公開します。

iOS のデプロイ

ビルドとアーカイブ
# Build archive
xcodebuild -workspace App.xcworkspace \
  -scheme App \
  -sdk iphoneos \
  -configuration Release \
  -archivePath build/App.xcarchive \
  archive

# Export IPA
xcodebuild -exportArchive \
  -archivePath build/App.xcarchive \
  -exportOptionsPlist ExportOptions.plist \
  -exportPath build/
App Store Connect へのアップロード
xcrun altool --upload-app \
  --type ios \
  --file build/App.ipa \
  --username "$APPLE_ID" \
  --password "$APP_SPECIFIC_PASSWORD"

Android のデプロイ

リリース APK/バンドルのビルド
# Generate keystore (once)
keytool -genkey -v -keystore release.keystore \
  -alias app -keyalg RSA -keysize 2048 -validity 10000

# Build release bundle
./gradlew bundleRelease
gradle.properties
RELEASE_STORE_FILE=release.keystore
RELEASE_KEY_ALIAS=app
RELEASE_STORE_PASSWORD=****
RELEASE_KEY_PASSWORD=****

バージョン管理

{
  "version": "1.2.3",
  "ios": { "buildNumber": "45" },
  "android": { "versionCode": 45 }
}

デプロイ前チェックリスト

  • すべてのテストに合格している(カバレッジ 80% 超)
  • すべてのサイズのアプリアイコン
  • ストア掲載用のスクリーンショット
  • プライバシーポリシーの URL が設定されている
  • 権限の必要性が説明されている
  • サポート対象の最小 OS バージョンでテスト済み
  • リリースノートを準備済み

CI/CD(GitHub Actions)

on:
  push:
    tags: ['v*']

jobs:
  deploy-ios:
    runs-on: macos-latest
    steps:
      - uses: actions/checkout@v4

      - name: Set up environment
        run: |
          # Accept Xcode license if needed
          sudo xcodebuild -license accept || true

      - name: Build archive
        run: |
          xcodebuild -workspace App.xcworkspace \
            -scheme App \
            -sdk iphoneos \
            -configuration Release \
            -archivePath build/App.xcarchive \
            archive

      - name: Export IPA
        run: |
          xcodebuild -exportArchive \
            -archivePath build/App.xcarchive \
            -exportOptionsPlist ExportOptions.plist \
            -exportPath build/

      - name: Upload to App Store Connect
        env:
          APPLE_ID: ${{ secrets.APPLE_ID }}
          APP_SPECIFIC_PASSWORD: ${{ secrets.APP_SPECIFIC_PASSWORD }}
        run: |
          xcrun altool --upload-app \
            --type ios \
            --file build/App.ipa \
            --username "$APPLE_ID" \
            --password "$APP_SPECIFIC_PASSWORD"

  deploy-android:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: ./gradlew bundleRelease
      - uses: r0adkll/upload-google-play@v1

ベストプラクティス

  • CI/CD でデプロイを自動化する
  • 実機でテストする
  • 署名関連の情報は個別に安全に管理する
  • リリース後にクラッシュレポートを監視する

コメント