reverseGeocodeAsync fails: Geocoding rate limit exceeded
React NativeLikely fix
expo-location, iOS
Error
Error: FunctionCallException: Calling the 'reverseGeocodeAsync' function has failed → Caused by: GeocodingNetwork: Geocoding rate limit exceeded - too many requestsCause
Apple's on-device geocoder has a tight per-app rate limit. Calling reverseGeocodeAsync on every provider mount (Fast Refresh, remounts, re-entering onboarding) hits it quickly in development.
Fix
Only re-geocode when the coordinates move meaningfully or enough time has passed (e.g. >60 s or >100 m), and cache the last result.
More React Native errors
- Screen crashes the whole app: Rendered more hooks than during the previous renderRendered more hooks than during the previous render
- Feed shows an error state for every address: ReferenceError before initializationReferenceError: Cannot access 'scoreById' before initialization
- Screen crash: Maximum update depth exceededError: Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate.
- Reanimated crash on device: Tried to synchronously call a non-worklet function on the UI thread[Worklets] Tried to synchronously call a non-worklet function `clamp01` on the UI thread.
- Rows wrapped in <Link asChild> collapse to a tiny height