位置授权没有提示

时间:2014-11-13 18:56:28

标签: ios swift location mapkit cllocationmanager

我是iOS和swift的新手。我正在使用MapKit,我正在尝试更新用户的位置。我已经确定它没有运行didUpdateLocations方法。我正在尝试使用requestWhenInUseAuthorizationrequestAlwaysAuthorization方法,但仍然没有。

这是错误:

Trying to start MapKit location updates without prompting for location authorization. Must call -[CLLocationManager requestWhenInUseAuthorization] or -[CLLocationManager requestAlwaysAuthorization] first.

以下是代码:

if (CLLocationManager.locationServicesEnabled()) {
        println("CLLocationManager")
        manager = CLLocationManager()
        manager.requestAlwaysAuthorization()
        manager.requestWhenInUseAuthorization()
        manager.delegate = self
        manager.desiredAccuracy = kCLLocationAccuracyBest
        manager.startUpdatingLocation()

        updateCoordinates()

        let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
    }

我也尝试将requests放在delegate之后,然后放在desiredAccuracy之后。

知道怎么解决吗?

1 个答案:

答案 0 :(得分:1)

您必须将此密钥添加到yourApp-info.plist:NSLocationAlwaysUsageDescription或NSLocationWhenInUseUsageDescription(两者都更好)。您添加此密钥,文本是请求用户使用的消息。