iOS app doesn't ask for location permission
core-location, ios, mapkit, swift
Solution
As of iOS 8 you have to call one of the request... functions and add the appropriate entry to your Info.plist file, either `NSLocationWhenInUseUsageDescription` or `NSLocationAlwaysUsageDescription`.
For more information, see the reference here
Update
Make sure that
- the map is centered on the simulated location.
- Also make sure that a location is simulated. Either do so in the Debug Area (down below) of XCode (see image), or do it in the simulator under `Debug > Location`.
Debug Area:
Problem
My Swift-iOS app is meant to show the user's location on a map. However, the XCode debug console tells me I need to ask permission to show the user's location. I think, I do that but the dialog never comes up. Here is the error message, and below the ViewController where I call `CLLocationManager::requestWhenInUseAuthorization()` Error: 2014-06-30 21:25:13.927 RowingTracker2[17642:1608253] Trying to start MapKit location updates without prompting for location authorization. Must call -[CLLocationManager requestWhenInUseAuthorization] or -[CLLocationManager requestAlwaysAuthorization] first. ViewController: ``` import UIKit import MapKit import CoreLocation class ViewController: UIViewController, MKMapViewDelegate { @IBOutlet var mapview: MKMapView = nil var locationmgr : CLLocationManager! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. locationmgr = CLLocationManager() locationmgr.requestWhenInUseAuthorization() mapview.showsUserLocation = true } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } } ``` How do I request authorization to use the location? You can find the complete project here.(Commit) Info Even making ViewController inherit from `CLLocationManagerDelegate` and setting the delegate to `self` as indicated here doesn't help.