Daij-Djan Daij-Djan - 6 months ago 98
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

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