iphone: метод вызова CLLocation вызывается случайным образом - PullRequest
0 голосов
/ 05 августа 2011

Я использую CLLocationManager для захвата местоположения. Хотя I have GPS settings working on my device, он показывает случайное всплывающее состояние, которое определено в didFailWithError

Ошибка, которую я получаю,

Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be completed. (kCLErrorDomain error 0.)"

-(void) startGettingCurrentLocation {

    CLLocationManager *locationManager=[[CLLocationManager alloc] init];
    locationManager.delegate=self;
    locationManager.desiredAccuracy=kCLLocationAccuracyNearestTenMeters;

    [locationManager startUpdatingLocation];
}
- (void) locationManager:(CLLocationManager *) manager didFailWithError:(NSError *)error {

    [locatingAlert dismissWithClickedButtonIndex:0 animated:NO];

    UIAlertView *statusAlert;

    statusAlert =  [[UIAlertView alloc] initWithTitle:@"" message:@"In order to use this application properly, you need to allow use of the GPS." delegate:self cancelButtonTitle:nil otherButtonTitles:nil];
    [statusAlert addButtonWithTitle:@"OK"];
    [statusAlert show];

    //Set Default Coordinates it app not able to get location
    if (mainDelegate.currentLatitude == nil) {
        mainDelegate.currentLatitude = @"28.6317021";
    }

    if (mainDelegate.currentLongitude == nil) {
        mainDelegate.currentLongitude = @"-81.423110";
    }
}

1 Ответ

2 голосов
/ 05 августа 2011

Просто выясните, в чем ошибка

if([[error code] isEqualTo: kCLErrorLocationUnknown])
{
   The location manager was unable to obtain a location value right now.
}

другие коды ошибок

kCLErrorLocationUnknown

The location manager was unable to obtain a location value right now.

kCLErrorDenied

Access to the location service was denied by the user.

kCLErrorNetwork

The network was unavailable or a network error occurred.

kCLErrorHeadingFailure

The heading could not be determined.

kCLErrorRegionMonitoringDenied

Access to the region monitoring service was denied by the user.

kCLErrorRegionMonitoringFailure

A registered region cannot be monitored.

kCLErrorRegionMonitoringSetupDelayed

Core Location could not initialize the region monitoring feature immediately.
...