【发布时间】:2014-06-30 21:52:53
【问题描述】:
我使用 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 用于 10.10 及更高版本,我正在开发 10.9。
【问题讨论】:
-
那个是IOS,不是完全一样的。
-
在 iOS 8 中,您必须拨打电话请求权限,并且您必须在 info.plist 中设置原因键。见this answer
-
我在询问 OS X 应用程序,但我也在 info.plist 中尝试了这个原因。
标签: cocoa swift core-location