App Store Deployment
Guide for deploying to Apple App Store.
Prerequisites
- Apple Developer account
- App Store Connect access
- Xcode with valid signing certificates
- Fastlane installed
Setup
1. Certificates and Profiles
cd iosfastlane match developmentfastlane match appstore2. Environment Variables
Set in CI/CD or .env:
APPLE_ID=your@email.comAPP_STORE_CONNECT_TEAM_ID=123456MATCH_PASSWORD=<encrypted>Deployment Commands
TestFlight (Beta)
fastlane ios betaThis will:
- Build the app
- Upload to TestFlight
- Notify testers
App Store (Production)
fastlane ios releaseThis will:
- Build the app
- Upload to App Store Connect
- Submit for review
Fastlane Configuration
ios/fastlane/Fastfile:
platform :ios do desc "Push a new beta build to TestFlight" lane :beta do build_app(scheme: "Runner") upload_to_testflight end
desc "Push a new release build to the App Store" lane :release do build_app(scheme: "Runner") upload_to_app_store( skip_metadata: false, skip_screenshots: true ) endendApp Store Metadata
Located in ios/fastlane/metadata/:
metadata/├── en-US/│ ├── name.txt│ ├── subtitle.txt│ ├── description.txt│ ├── keywords.txt│ ├── release_notes.txt│ └── privacy_url.txt└── screenshots/ ├── iPhone 6.5/ └── iPad Pro 12.9/Common Issues
Code Signing
If code signing fails:
fastlane match nuke distributionfastlane match appstoreBuild Number Conflicts
Increment build number:
fastlane run increment_build_number