Swift - CLLocationManager不要求用户权限

时间:2014-06-30 21:52:53

标签: cocoa swift core-location

我使用的是Xcode beta 2并尝试使用OS X应用程序获取用户位置,但它甚至不会询问用户权限。这是我到现在为止所做的。

...
import CoreLocation

class AppDelegate: NSObject, NSApplicationDelegate, CLLocationManagerDelegate  {

    var locManager : CLLocationManager = CLLocationManager()

    func applicationDidFinishLaunching(aNotification: NSNotification?) {
        locManager.delegate = self
        locManager.desiredAccuracy = kCLLocationAccuracyBest
        locManager.startUpdatingLocation()
    }

    func locationManager(manager: CLLocationManager!, didUpdateToLocation newLocation: CLLocation!, fromLocation oldLocation: CLLocation!) {
        //doSomething.
    }

}
没有任何反应。我查看了其他问题并尝试了所有建议的解决方案,但没有奏效。尝试使用Objective-C,一切都很好。我在这里错过了什么吗?

在计算机的首选项上启用了位置服务。另外" NSLocationUsageDescription"在info.plist中。 NSLocationWhenInUseUsageDescription和NSLocationAlwaysUsageDescription for 10.10及更高版本,我正在研究10.9。

Information Property List Key Reference

1 个答案:

答案 0 :(得分:3)

代码没有问题,只是注意到它是App Sandbox权利问题。一旦我在App Data下检查了Location,它立即就可以了。

enter image description here