Я подозреваю, что с жизненным циклом сохранения / выпуска вашего объекта CLLocationManager происходит нечто забавное.
В делегате вы воспринимаете это как свойство.В viewController вы рассматриваете это как iVar.
Я бы предпочел, чтобы вы присвоили его self.locationManager
, а не locationManager
.Предполагая, что это именованное свойство с семантической установкой retain
, а затем вы release
используете его в методе -dealloc
вашего viewController (возможно, после вызова stopUpdatingLocation
для него), вам следует идти дальше.
Впрочем, я сам видел такое же поведение в первый раз, когда поиграл с CoreLocation сразу после 4.0, и появился фоновый режим.Я подумал, что с моей батареей что-то не так, потому что я только что получил iPhone 4. Оказывается, я просто набивал CoreLocation независимо от того, запущено мое приложение или нет.