У меня есть приложение, которое использует местоположение устройства. Если они разрешают местоположение, я хочу запустить мой метод getDataFromJson
и запустить приложение как обычно. Если они отрицают это или отрицают это раньше, я хочу показать им представление, объясняющее, что им нужно перейти к настройкам и разрешить это.Выяснение того, включены ли службы определения местоположения, не работает
У меня есть много кода, но в данный момент он не работает. Может ли кто-нибудь помочь объяснить, где проблема?
Большое спасибо!
- (void)viewDidLoad
{
[super viewDidLoad];
if ([CLLocationManager authorizationStatus] == YES) {
//are enabled, run the JSON request
[self getDataFromJson];
} else {
//is not enabled, so set it up
NSLog(@"no");
[locationManager location];
};
}
-(CLLocationCoordinate2D) getLocation{
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.distanceFilter = kCLDistanceFilterNone;
[locationManager startUpdatingLocation];
CLLocation *location = [locationManager location];
CLLocationCoordinate2D coordinate = [location coordinate];
return coordinate;
}
-(void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
if (status == kCLAuthorizationStatusDenied) {
//location denied, handle accordingly
locationFailView.hidden = NO;
mainView.hidden = YES;
}
else if (status == kCLAuthorizationStatusAuthorized) {
//hooray! begin tracking
[self getDataFromJson];
}
}
//class to convert JSON to NSData
- (IBAction)getDataFromJson {
CLLocationCoordinate2D coordinate = [self getLocation];
NSString *latitude = [NSString stringWithFormat:@"%f", coordinate.latitude];
NSString *longitude = [NSString stringWithFormat:@"%f", coordinate.longitude];
...
}
Когда вы говорите, что это не работает, что конкретно вы имеете в виду? – bdesham
Можете ли вы включить текст аварии? –
Вы должны указать, какой код сбой и какова полная ошибка. – rmaddy