locationServicesEnabled == ДА, но [[CLLocationMagager alloc] init] возвращает ноль - PullRequest
0 голосов
/ 29 февраля 2012

Я немного озадачен.Рассмотрим следующий код:

    if([CLLocationManager locationServicesEnabled])
    {
            if(self.locationManager == nil)
            {
                    self.locationManager = [[CLLocationManager alloc] init];
            }
            // do something with the location manager...
    }

self.locationManager установлен на 0x0.Условия для обеих альтернатив выполнены.Я проверил это, используя точку останова на self.locationManager = ..., и строка вызывается при каждом запуске приложения.Самое интересное, что MKMapView в том же контроллере представления может показать местоположение пользователя.

Спасибо за любые идеи, Крис

1 Ответ

1 голос
/ 01 марта 2012

Проблема заключалась в объявлении locationManager как

    @property(weak, nonatomic) CLLocationManager* locationManager;

. Фреймворк не сохраняет каждый экземпляр менеджера расположений, поэтому я должен был объявить

    @property(strong, nonatomic) CLLocationManager* locationManager;

, что работаетотлично.

Спасибо LocoMike за то, что он указал мне правильное направление.

...