Sto lavorando su un pezzo di codice Swift per iOS 8. sto cercando di fare qualcosa che coinvolge la posizione, e così ho implementato il seguente nella mia rapida file di vista del regolatore:CLLocationManager iOS 8
let locationManger:CLLocationManager = CLLocationManager()
var speedReceived:Double = 0
override func viewDidLoad() {
super.viewDidLoad()
locationManger.delegate = self
locationManger.desiredAccuracy = kCLLocationAccuracyBest
let authstate = CLLocationManager.authorizationStatus()
if(authstate == CLAuthorizationStatus.NotDetermined){
println("Not Authorised")
locationManger.requestWhenInUseAuthorization()
}
// Do any additional setup after loading the view, typically from a nib.
}
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!){
var location:CLLocation = locations[locations.count - 1] as CLLocation
if(location.horizontalAccuracy > 0){
self.speedReceived = location.speed
println(self.speedReceived)
}
}
func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!) {
println("Couldn't get your location")
}
Tuttavia, non riesco a ottenere questo codice funzioni. Non salva la mia preferenza per l'uso della posizione. non mi chiede nemmeno di dare il permesso di accedere alla posizione. Ho provato ad aggiornare il mio info.plist. Ma non sta funzionando. A proposito, se seleziono sempre le impostazioni sulla privacy all'interno del simulatore, funziona se ritorna immediatamente all'app. qualcuno può aiutare? Sono sicuro che questo è il problema perché ottengo Non autorizzato sulla mia console.
Qualsiasi aiuto?
dici che avete aggiornato il vostro info.plist - avete controllato due volte la voce? "NSLocationWhenInUseUsageDescription" deve essere presente con una stringa che descrive l'utilizzo della posizione. Un semplice errore di battitura impedirà alla tua app di richiedere l'accesso alla posizione. Inoltre dovresti sempre chiamare 'locationManager.requestWhenInUseAuthorization()', non solo quando il tuo stato non è autorizzato – Paulw11