Метод CLLocationmanager "locationServicesEnabled" устарел в iOS 4?
Я знаю, что свойство locationServicesEnabled устарело в iOS 4. Вместо этого я должен вызвать locationServicesEnabled
В моем методе делегата приложения
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//Some Code Here...
CLLocationManager *manager = [[CLLocationManager alloc] init];
if (![manager locationServicesEnabled])
{ //show an alert
}
}
Я вызвал метод, однако Xcode показал мне предупреждение "locationServicesEnabled устарел". Кто-нибудь знает, как это исправить? Из-за предупреждения, если я отключил службу определения местоположения в системном предпочтении, представление предупреждения не может быть показано.
Спасибо!
Ответы
Ответ 1
Из документации:
locationServicesEnabled: логическое значение, указывающее, является ли местоположение сервисы включены на устройстве. (только для чтения) (Устаревший в iOS 4.0. Вместо этого используйте метод класса locationServicesEnabled.)
Итак, вместо [manager locationServicesEnabled]
вы должны использовать [CLLocationManager locationServicesEnabled]
Ответ 2
Если вы хотите узнать только, имеет ли ваше приложение права на использование GPS, вам необходимо проверить [CLLocationManager authorizationStatus]
Этот метод класса можно увидеть в Справочнике классов CLLocationManager.
http://developer.apple.com/library/ios/#DOCUMENTATION/CoreLocation/Reference/CLLocationManager_Class/CLLocationManager/CLLocationManager.html
Ответ 3
Если вы разрабатываете приложение для iOS 4 или выше, вы можете/комментировать/удалять как это:
- (BOOL)isLocationServicesEnabled
{
BOOL locationServicesEnabledClassPropertyAvailable = [CLLocationManager respondsToSelector:@selector(locationServicesEnabled)];// iOS 4.x
if (locationServicesEnabledClassPropertyAvailable) { // iOS 4.x
return [CLLocationManager locationServicesEnabled];
} else {
return NO;
}
}
Ответ 4
Итак, вам просто нужно удалить [(id)self.locationManager headingAvailable]
и заменить его на [CLLocationManager locationServicesEnabled]
, решить проблему...