> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zeus.ttr.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# Mobile Store Deployment

> Publish Zeus to iOS App Store and Google Play

## Overview

Deploy Zeus Flutter to iOS App Store and Google Play Store.

## iOS App Store

### 1. Prepare App

```bash theme={null}
# Update version in pubspec.yaml
version: 1.0.0+1

# Clean build
flutter clean

# Install dependencies
flutter pub get

# Update pods
cd ios
pod install
```

### 2. Configure Signing

In Xcode:

1. Open `ios/Runner.xcworkspace`
2. Select Runner target
3. Signing & Capabilities → Select your team
4. Update bundle ID (e.g., `com.yourcompany.zeus`)

### 3. Build Archive

```bash theme={null}
flutter build ios --release --flavor production

# Or in Xcode
# Product → Archive
```

### 4. Upload

In Xcode Organizer:

1. Select archive
2. Distribute App → App Store Connect
3. Upload

### 5. App Store Connect

1. Create new app
2. Fill metadata:
   * App name: Zeus Finance
   * Subtitle: Expense tracking
   * Description: Track expenses, manage wallets...
3. Upload screenshots (required sizes)
4. Set pricing
5. Submit for review

## Google Play Store

### 1. Prepare App

```bash theme={null}
# Update version
version: 1.0.0+1  # Increment build number

# Clean and build
flutter clean
flutter pub get

# Build app bundle
flutter build appbundle --release --flavor production
```

### 2. Configure Signing

Create signing config in `android/app/build.gradle`:

```gradle theme={null}
android {
    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
            storePassword keystoreProperties['storePassword']
        }
    }
    
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}
```

Create `android/key.properties`:

```properties theme={null}
storePassword=your_password
keyPassword=your_password
keyAlias=zeus
storeFile=/path/to/keystore.jks
```

### 3. Generate Keystore

```bash theme={null}
keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA \
  -keysize 2048 -validity 10000 -alias zeus
```

### 4. Upload to Play Console

1. Go to [Google Play Console](https://play.google.com/console)
2. Create app
3. Upload AAB: `build/app/outputs/bundle/productionRelease/app-production-release.aab`
4. Fill store listing
5. Set up pricing
6. Submit for review

## CI/CD with GitHub Actions

```yaml theme={null}
# .github/workflows/deploy.yml
name: Deploy

on:
  push:
    tags:
      - 'v*'

jobs:
  deploy-android:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      
      - uses: subosito/flutter-action@v2
        with:
          flutter-version: '3.10.0'
      
      - name: Decode keystore
        run: |
          echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > android/app/keystore.jks
      
      - name: Build
        env:
          KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
        run: flutter build appbundle --release --flavor production
      
      - name: Deploy to Play Store
        uses: r0adkll/upload-google-play@v1
        with:
          serviceAccountJsonPlainText: ${{ secrets.PLAY_STORE_JSON }}
          packageName: com.yourcompany.zeus
          releaseFiles: build/app/outputs/bundle/productionRelease/*.aab
          track: production

  deploy-ios:
    runs-on: macos-latest
    steps:
      - uses: actions/checkout@v3
      
      - uses: subosito/flutter-action@v2
      
      - name: Install dependencies
        run: |
          flutter pub get
          cd ios && pod install
      
      - name: Build and deploy
        env:
          MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
        run: |
          fastlane ios deploy
```

## Required Assets

### Screenshots

**iOS:**

* 6.5" Display (iPhone 11 Pro Max, iPhone 11, iPhone XS Max): 1242 x 2688
* 5.5" Display (iPhone 8 Plus, iPhone 7 Plus): 1242 x 2208
* 12.9" Display (iPad Pro): 2048 x 2732

**Android:**

* Phone: 1080 x 1920
* 7" tablet: 1080 x 1920
* 10" tablet: 1920 x 1080

### App Icons

Generate with:

```bash theme={null}
flutter pub add flutter_launcher_icons
flutter pub run flutter_launcher_icons:main
```

## Pre-Launch Checklist

* [ ] Test on real devices
* [ ] Verify offline functionality
* [ ] Check sync works
* [ ] Review performance
* [ ] Add analytics
* [ ] Configure crash reporting
* [ ] Test different screen sizes
* [ ] Check accessibility
* [ ] Write privacy policy
* [ ] Prepare screenshots
* [ ] Write app description
* [ ] Set pricing

## Post-Launch

* Monitor crash reports
* Track user reviews
* Respond to feedback
* Plan updates
