Я сделал нечто похожее на это, используя NSUserDefaults для записи даты и времени, когда он последний раз отправлял на сервер, и используя NSTimeInterval для сравнения между датой обновленного местоположения и этим значением.Я использую 30-е годы, но вы можете настроить вверх.Это немного взломано, но работает с фоновым запуском и т. Д.
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
}
updatedLocation = [newLocation retain];
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSDate *myDate = (NSDate *)[prefs objectForKey:@"myDateKey"];
NSDate *lastDate = (NSDate *)newLocation.timestamp;
NSTimeInterval theDiff = [lastDate timeIntervalSinceDate:myDate];
if (theDiff > 30.0f || myDate == nil){
//do your webservices stuff here
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:lastDate forKey:@"myDateKey"];
[prefs synchronize];
}