Снимок экрана:
< Сильный > Код:
if (_locationManager == nil) {
_locationManager = [[CLLocationManager alloc] init];
_locationManager.delegate = self;
_locationManager.requestWhenInUseAuthorization; // this is OK with warning
_locationManager.requestWhenInUseAuthorization(); // this is giving me error
}
Я довольно новичок в разработке для iOS, поэтому не знаю, как ее решить.
2 ответа
Я думаю, что в Objective-C вам нужно правильно отправить сообщение requestWhenInUseAuthorization
вашему экземпляру _locationManager
, например, так:
[_locationManager requestWhenInUseAuthorization];
И, как упомянул MacUserT, похоже, что вы смешиваете код в стиле Swift и Objective-C. Я не уверен, как ваш оригинальный фрагмент скомпилирован, хотя. Домашняя работа для меня, возможно.
Можете ли вы попробовать следующее при разработке в Swift:
let locationManager = CLLocationManager()
locationManager.requestWhenInUseAuthorization()
locationManager.delegate = self
Это должно работать, если вы создали проект с выбранным языком Swift.
Если вы разрабатываете в Objective-C, я думаю, что лучший способ это:
let locationManager = [[CLLocationManager alloc] init];
[locationManager requestWhenInUseAuthorization];
[locationManager delegate] = self;
Похожие вопросы
Новые вопросы
ios
iOS - мобильная операционная система, работающая на Apple iPhone, iPod touch и iPad. Используйте этот тег [ios] для вопросов, связанных с программированием на платформе iOS. Используйте связанные теги [target-c] и [swift] для проблем, характерных для этих языков программирования.