Ga naar hoofdinhoud

iOS build

Doel

IPA/TestFlight-build die routineassist.com als server gebruikt.

Voor wie

Developers en CI (GitHub macOS runner).

Waar in de app

Workflow .github/workflows/ios.yml; scripts npm run ios:prod, npm run ios:beta.

Voorwaarden

Apple Developer-account; GitHub secrets voor TestFlight (zie deploy/README).

Stap-voor-stap

  1. Bij push/PR: GitHub Actions iOS build op macos-latest (sync + verify + simulator-build).
  2. Lokaal of in CI: npm run ios:prod (API https://routineassist.com, sync versies + Firebase plist).
  3. Versies: android/app/build.gradle is leidend — npm run ios:prod roept sync-native-versions.mjs aan.
  4. TestFlight: zet secrets in GitHub (App Store Connect API + signing) — zie deploy/README.md.
  5. App ID: minimaal Push Notifications op het App Store-profiel (Time Sensitive optioneel voor Focus-doorbraak).
  6. Actions → iOS build → Run workflow → Upload naar TestFlight aan (niet tegelijk met pushen).
  7. Optioneel lokaal op Mac: npm run ios:open → signing in Xcode.
  8. Push: npm run ios:prod genereert GoogleService-Info.plist (secret IOS_GOOGLE_SERVICES_PLIST_BASE64 of ios/GoogleService-Info.plist.base64.txt).
  9. Registreer minimumversie in /admin/app-updates (tab iOS).

Opties & instellingen

Wijzig nooit alleen ios/ voor UI — altijd src/ + cap sync.

Tips & veelvoorkomende problemen

Native wijzigingen: Info.plist, App.entitlements, Swift plugins + opnieuw sync.

Zie ook