Take advantage of background geolocation on iOS without killing battery life.

I’m trying to get expo-location to wake my app up in the background every 5 minutes with the current user location. I am using startLocationUpdates for this. This works fine on Android, as I can use timeInterval, but that feature is not available on iOS. I must use a distanceInterval of 0, because I want to receive a location even if the user stays still. I tried using deferredUpdatesInterval to wake my app up every 5 minutes, but with distanceInterval set to 0 it returns a lot of location objects, multiple per second, which drains the battery a ton.

Any ideas on how I can do this? Thanks.

EDIT: I tried using Background Fetch already, but it’s too slow, and unreliable on iOS.