Files
Client/ios/fastlane
MineTecandClaude Opus 5.5 c5592f117b added automated App Store screenshots via iOS simulators and fastlane deliver
tool/screenshots_ios.sh runs the existing demo-login integration test on
iPhone 6.5" (iPhone 14 Plus) and iPad 13" simulators, stores the canonical PNGs
under materials/screenshots and mirrors alpha-free JPEGs to
ios/fastlane/screenshots for `fastlane upload_screenshots`.

Fixed the demo router answering timetable/custom-events with a week, which
crashed the inline iOS widget refresh after a demo login. The screenshot test
now skips the one-time Talk notification dialog and waits longer for the app
shell on cold simulators.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 16:58:29 +02:00
..

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:

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:

{
  "key_id": "ABC123XYZ",
  "issuer_id": "00000000-0000-0000-0000-000000000000",
  "key": "-----BEGIN PRIVATE KEY-----\n…\n-----END PRIVATE KEY-----",
  "in_house": false
}
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).