Question

This is one awful bug. When using CLLocationManger, either with startUpdatingLocation or with ALAsset methods to access metadata for a photo, the system is prompting for location access as expected...but the prompt disappears as soon as it's shown. I cannot find the reason for this and am hoping someone else has had this problem. This does not occur with other alerts (such as showing a UIAlertView).

I can even set the purpose property, and it displays, but again, only for a moment then it just closes itself.

This is a big issue for me as I require permission in order to use photo metadata.

Was it helpful?

Solution 2

Ugh, now the issue appears to be resolved. And I don't know why or how.

OTHER TIPS

Are you creating the CLLocationManager instance in a method like so:

-(void) viewDidAppear:(BOOL)animated {
    CLLocationManager *locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    [locationManager startUpdatingLocation];
}

If so, then as soon as the function exits, the local locationManager variable is being cleaned up. You should save a reference to the locationManager either on an instance or in a static variable:

static CLLocationManager *locationManager;
-(void) viewDidAppear:(BOOL)animated {
    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    [locationManager startUpdatingLocation];
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top