What are you looking for this
- allowDeferredLocationUpdatesUntilTraveled:timeout:
If your application is in the background and the system can optimize its energy use, the location manager tells the GPS to store new locations inside until the specified distance or timeout conditions are met. When one or both of the criteria is met, the location manager ends the pending places by calling locationManager: didFinishDeferredUpdatesWithError: delegate its method and deliver cached locations to the locationManager: didUpdateLocations: method.
ex;
[locationManager allowDeferredLocationUpdatesUntilTraveled:100.0f timeout:CLTimeIntervalMax]
So basically, this will save some processing power by sending location updates as a collection of location after a certain time, rather than activating a location update callback every time the device registers movement.
And you can get the location update using the follwing callback method;
-(void)locationManager:(CLLocationManager *)manager didFinishDeferredUpdatesWithError:(NSError *)error
source share