我只是尝试在我的应用程序中显示地图上的用户位置。这是我的单视图控制器的代码
import UIKit
import MapKit
import CoreLocation
class ViewController: UIViewController {
@IBOutlet weak var mapView: MKMapView!
fileprivate let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
locationManager.requestWhenInUseAuthorization()
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.distanceFilter = kCLDistanceFilterNone
locationManager.startUpdatingLocation()
mapView.showsUserLocation = true
}
}
但是当我尝试将showsUserLocation设置为true时,我得到这样的错误:
20121-03-01 15:40:13.158237+0300 Test[3618:220718] [MKCoreLocationProvider] CLLocationManager(
所以,我已经尝试了解决方案,如"设置位置自定义,而不是在模拟器"或"允许在方案选项中进行位置模拟">,没有帮助。
必须声明CLLocationManagerDelegate
类ViewController: UIViewController, CLLocationManagerDelegate {
…一些代码…
}
你可以通过实现CLLocationManagerDelegate方法locationManager(_:didFailWithError:)来做到这一点,如果位置管理器无法获得用户的位置,该方法将被调用。