Для тех, кто сталкивается с той же проблемой,
Кроме того, некоторые учебники, связанные с расположением ядра в Интернете, приводят меня к этой проблеме.
Конечно, я держу CLLocation ivar в моем VC, всякий раз, когда CLLocation ivar
Наборы и Google Maps называется, мое приложение переходит в фоновый режим.
Затем мое приложение вызывает пользователя из фонового режима и начинает обновлять местоположения,
и старый CLLocation ivar не равен нулю и, вероятно, лучшая точность по горизонтали
недавно приходит. Поэтому,
if ( self.currentLocation == nil || self.currentLocation.horizontalAccuracy > newLocation.horizontalAccuracy )
эта строка вызывает проблемы, и старое местоположение в CLLocation ivar
никогда не заменяется.
Таким образом, я изменил viewDidDisappear следующим образом, и я присвоил значение nil переменной CLLocation и отлично работает.
- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
[self.locationManager stopUpdatingLocation]; // CLLocationManager
self.locationManager = nil;
[self.locationTimer invalidate]; // NSTimer
self.locationTimer = nil;
self.currentLocation = nil; // CLLocation
}
p.s: спасибо, Марк Адамс