# Fastlane – App-Store-Screenshots & Upload iOS-Gegenstück zu `android/fastlane`. Die App muss dafür **nicht** neu gebaut werden – der Demo-Modus (`demo@`-Login) liefert die kompletten Inhalte aus Fixtures. ## 1. Screenshots aufnehmen Aus dem **Client**-Wurzelverzeichnis: ```bash tool/screenshots_ios.sh ``` Fährt „iPhone 14 Plus“ (6,5″, 1284×2778) und „iPad Pro 13-inch (M5)“ (13″, 2064×2752) nacheinander durch und legt die PNGs in `materials/screenshots/{ios/6-5-inch,ipados/13-inch}/` sowie als JPEG-Upload-Kopie (App Store Connect lehnt Alpha-Kanäle ab) in `screenshots/de-DE/` ab. Fehlende Simulatoren legt das Skript selbst an. - Nur eine Größe: `PROFILES="iphone" tool/screenshots_ios.sh` - Andere Simulatoren: `IPHONE_SIM="iPhone 11 Pro Max" IPAD_SIM="…" tool/screenshots_ios.sh` App und Schlüsselbund der verwendeten Simulatoren werden dabei zurückgesetzt. ## 2. Hochladen fastlane installieren (`brew install fastlane`), in App Store Connect unter *Benutzer und Zugriff → Integrationen → App Store Connect API* einen Key mit Rolle *App-Manager* anlegen und als JSON ablegen: ```json { "key_id": "ABC123XYZ", "issuer_id": "00000000-0000-0000-0000-000000000000", "key": "-----BEGIN PRIVATE KEY-----\n…\n-----END PRIVATE KEY-----", "in_house": false } ``` ```bash export APP_STORE_CONNECT_API_KEY=/pfad/zu/app-store-connect-api-key.json cd ios fastlane upload_screenshots ``` Die Screenshots landen in der aktuell bearbeitbaren App-Store-Version („Vorbereitung für Einreichung“); vorhandene Screenshots werden ersetzt. Der API-Key wird **nicht** eingecheckt (siehe `.gitignore`).