Native¶
Everything operational about shipping the Tomoda native iOS and Android apps — local dev environment, release pipeline, store portal management, QA. Both binaries come from the same Expo codebase that also produces the web bundle; this section covers the workflows specific to the native side.
"Native" here means the platform-compiled apps that ship to the App Store and Google Play, as opposed to the web build covered in Frontend → Setup.
-
The local build + manual store upload flow (
task native:beta:ios/task native:beta:android). Versioning, self-hosted OTA updates, TestFlight / Play internal channels. Start here for the conceptual model of how a code change becomes a binary in the stores. -
Shared, reproducible signing: fastlane match on GCS (iOS), the shared upload keystore + Play App Signing (Android), and the GCP Secret Manager secret inventory. Read when setting up signing on a new machine or rotating a key.
-
Google Play Console portal — Developer account, app record, App Signing (Play-managed), Maps SHA-1, store listing, content rating, Data safety, release tracks, post-launch ops.
-
App Store Connect portal — Apple Developer Program, app record + ASC App ID, signing certificates (Xcode / Apple Developer portal), TestFlight groups, App Privacy, App Review process, post-launch ops.
-
Running the native apps locally. Android Studio + emulator setup, iOS Simulator basics,
expo run:android/expo run:ios, reusing the dev client, common pitfalls. -
QA workflows on simulators, emulators, and real devices. Local dev clients, OAuth caveats, environment-specific keystore/SHA-1 considerations.
Where each concern lives¶
| Task | Page |
|---|---|
| "How do I run the app on my Mac?" | Local Development |
| "How do I ship a new build?" | Native Release — task native:beta:ios / task native:beta:android + manual store upload |
| "How do I push a Play Store listing change?" | Play Store |
| "How do I set up a TestFlight beta group?" | App Store |
| "How do I set up signing on a new machine or rotate a key?" | Signing |
| "Why are my map tiles gray?" | Local Development → Google Maps (debug) or Play Store → App signing (production) |
| "How do I add a new tester?" | Play Store § Release tracks (Android) / App Store § TestFlight (iOS) |
| "How do I QA on a real device?" | Testing |
See also¶
- Frontend → Setup — Expo Go and web local dev (covers iOS/Android via Expo Go too, before you need a custom dev client)
- Frontend → Architecture — the app codebase the binaries are built from
- Style Guide — the visual language the apps render