Location
Location for an Expo app, compared: Expo Location, or none - Expo Go support and what each option installs.
Hey - here's how location works in ReadyNative.
This category owns the device's position: asking for permission, reading a fix, and turning
coordinates into a place name. @/lib/location always exists, whichever option you pick -
location.getCurrentPosition() resolves { latitude, longitude } or null, and never throws,
so a screen handles "denied", "no GPS" and "no module" with the same branch.
Pick Expo Location when a screen is better with the user's position: local weather, a
nearby list, a pre-filled address. It works in Expo Go, asks for foreground ("while using the
app") permission only, and ships a purpose string you rewrite for your app. Pick none when
you never need it: no permission prompt, no purpose string for App Review to question, and
location.supported is false so screens hide their "use my location" button.
Both options are in Starter and Pro.
Options
One option per category - --location <option> picks it:
bun run setup --location expo-location| Option | Label | Expo Go | Hint |
|---|---|---|---|
expo-location | Expo Location (default) | yes | foreground position + reverse geocoding, permission states handled · Expo Go OK |
none | No location | yes | no permission prompt, no expo-location |