I am new to IOS. I am trying to use Maps to get user's current location. The tutorial i am following is for IOS 10.
I went through this post and did everything it said but still it doesn't work Location Services not working in iOS 11
Following is my code
class ViewController: UIViewController,CLLocationManagerDelegate,MKMapViewDelegate {
var locationManager=CLLocationManager()
// @IBOutlet weak var mapView: MKMapView!
@IBOutlet weak var mapView: MKMapView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
locationManager.delegate=self
locationManager.desiredAccuracy=kCLLocationAccuracyBest
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingLocation()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let userLocation:CLLocation = locations[0]
let latitude=userLocation.coordinate.latitude
let longitude=userLocation.coordinate.longitude
let latDelta:CLLocationDegrees=0.05
let lonDelta:CLLocationDegrees=0.05
let span=MKCoordinateSpan(latitudeDelta:latDelta, longitudeDelta:lonDelta)
let location=CLLocationCoordinate2D(latitude:latitude,longitude:longitude)
let region=MKCoordinateRegion(center:location,span:span)
self.mapView.setRegion(region,animated:true)
}
}
I have added following in my info.plist file
<key>NSLocationAlwaysUsageDescription</key>
<string>Program requires GPS to track cars and job orders</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>Program requires GPS to track cars and job orders</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Program requires GPS to track cars and job orders</string>
Any help would be greatly appreciated.
NSLocationWhenInUseUsageDescription. A message that tells the user why the app is requesting access to the user's location information while the app is running in the foreground.
Xcode supplies an information property list file when you create a project from a template, as described in Create a project. By default, Xcode names this file Info. plist and adds it to your project as a source file that you can edit. Xcode creates one information property list for each target in the project folder.
If you are using the simulator, make sure you have a location chosen. Select the simulator, in the menu bar you need to go to Debug -> Location -> And then either do a custom or predefined.
If you've done that, try the below.
Rather than manually entering that text in the info.plist, I would just open it with the default editor.
Click the plus button that is shown in the blue highlighted area ( you can really select any of them) This will add a new row.
Second, Type in Privacy - Location When ... Select the one that applies to you.
After you have the left side filled out, double tap the right side and enter the text you want shown to the user.
There should be three descriptions in info.plst.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With