bc909cb0c0
The iOS app is a Capacitor shell over the live web UI — the web/server side is already fully Capacitor-ready (nativePlatform() detects Capacitor; setupNativePush registers APNs tokens via /api/v1/devices; the APNs sender is built into server/push.js, config-gated). So this adds only the build/sign/upload path: - codemagic.yaml: macOS-cloud workflow that generates the iOS project, patches Info.plist, generates icons/splash, signs via an App Store Connect API key (automatic signing), archives, and uploads to TestFlight. No Mac required. - mobile/scripts/ios-patch.sh: adds the App-Review privacy usage strings (camera/mic/photos) + display name to the generated Info.plist. - mobile/IOS_SETUP.md: click-by-click runbook — ASC app record, API key, Codemagic integration, first build, APNs key → server .env, and the public-submission checklist. Bundle id com.bizgaze.connect. No secrets committed — Apple keys live in Codemagic + server .env. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>