Daij-Djan Daij-Djan - 1 year ago 267
Swift Question

CLLocationManager.authorizationStatus() always CLAuthorizationStatus.NotDetermined with swift&objC app

I just can get my CLLocationManager to authorise. (swift under ios8)
I even add an explicit requestAlwaysAuthorization call (which I don't need with objC under ios7)

func finishLaunch() {
//ask for authorization
let status = CLLocationManager.authorizationStatus()
if(status == CLAuthorizationStatus.NotDetermined) {
self.locationManager.requestAlwaysAuthorization();
}
else {
self.startMonitoring()
}
...
}


the callback never gets anything but NotDermined and there is no UIAlertView shown to the user.

func locationManager(manager: CLLocationManager!, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
if(status == CLAuthorizationStatus.NotDetermined) {
println("Auth status unkown still!");
}
self.startMonitoring()
}


Am I doing it wrong? -- Feels like a bug to me but I'd like some feedback

amb amb
Answer Source

Keep in mind that NSLocationAlwaysUsageDescription or NSLocationWhenInUseUsageDescription keys are now mandatory, so you should include that in your plist.