mcpField
A
app-store-deployment

app-store-deployment

github.com/secondskyCloud & DevOps240430 installsUpdated 5w ago
Repository

About app-store-deployment

A deployment guide for mobile developers publishing apps to the iOS App Store and Google Play, covering builds, signing, versioning, and pre-release checks.

Key features

  1. 01iOS archive and upload steps
  2. 02Android release bundle builds
  3. 03Version number management
  4. 04Pre-deployment checklist
  5. 05GitHub Actions deployment example

Use cases

  1. 01Preparing an iOS app release
  2. 02Building an Android release bundle
  3. 03Checking app store release requirements

Install

Copy the command and run it in a terminal.

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

After installing, type/app-store-deploymentin Claude Code to confirm it loaded.

Details

From the project README

App Store Deployment

Publish mobile applications to iOS App Store and Google Play with proper procedures.

iOS Deployment

Build and Archive
# 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/
Upload to App Store Connect
xcrun altool --upload-app \
  --type ios \
  --file build/App.ipa \
  --username "$APPLE_ID" \
  --password "$APP_SPECIFIC_PASSWORD"

Android Deployment

Build Release APK/Bundle
# 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 Management

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

Pre-Deployment Checklist

  • All tests passing (>80% coverage)
  • App icons for all sizes
  • Screenshots for store listing
  • Privacy policy URL configured
  • Permissions justified
  • Tested on minimum supported OS
  • Release notes prepared

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

Best Practices

  • Automate deployment with CI/CD
  • Test on physical devices
  • Secure signing materials separately
  • Monitor crash reports post-launch

Comments

Markdown supported