iOS build
Goal
IPA/TestFlight build that uses routineassist.com as server.
For whom
Developers and CI (GitHub macOS runner).
Where in the app
Workflow .github/workflows/ios.yml; scripts npm run ios:prod, npm run ios:beta.
Prerequisites
Apple Developer account; GitHub secrets for TestFlight (see deploy/README).
Step by step
- On push/PR: GitHub Actions iOS build on
macos-latest(sync + verify + simulator build). - Locally or in CI:
npm run ios:prod(APIhttps://routineassist.com, sync versions + Firebase plist). - Versions:
android/app/build.gradleis source of truth —npm run ios:prodrunssync-native-versions.mjs. - TestFlight: configure GitHub secrets (App Store Connect API + signing) — see
deploy/README.md. - App ID: Push Notifications on the App Store profile (Time Sensitive optional for Focus bypass).
- Actions → iOS build → Run workflow → enable Upload to TestFlight (not while pushing).
- Optional local Mac:
npm run ios:open→ signing in Xcode. - Push:
npm run ios:prodgeneratesGoogleService-Info.plist(secretIOS_GOOGLE_SERVICES_PLIST_BASE64orios/GoogleService-Info.plist.base64.txt). - Register minimum version in /admin/app-updates (iOS tab).
Options & settings
Never change only ios/ for UI — always src/ + cap sync.
Tips & troubleshooting
Native changes: Info.plist, App.entitlements, Swift plugins + re-sync.