CLLocationManager 已启用但选中从不
CLLocationManager enabled but checked Never
我正在尝试在 AppDelegate 中确定用户是否将应用程序的位置权限设置为 "Never"。如果无法获取位置信息,我的应用程序总是会崩溃。
我在 AppDelegate 中的代码是:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
//location
var manager = CLLocationManager()
if CLLocationManager.authorizationStatus() == .Restricted
|| .authorizationStatus() == .Denied {
manager.requestWhenInUseAuthorization()
manager.requestAlwaysAuthorization()
}
}
谁能帮我解决这个问题?
有关 CoreLocation 和请求授权的最佳文章在这里:http://nshipster.com/core-location-in-ios-8/
几点:
- 仅在当前状态为 .NotDetermined 时请求授权
- 如果当前状态为.Denied,那么您可以post发出警报询问
用户进入设置并打开位置服务,但调用任何一种请求方法都不会执行任何操作。
- 记得在你的 plist 中加入一个 NSLocationUsageDescription ! (我
经常忘记这个。)
我正在尝试在 AppDelegate 中确定用户是否将应用程序的位置权限设置为 "Never"。如果无法获取位置信息,我的应用程序总是会崩溃。
我在 AppDelegate 中的代码是:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
//location
var manager = CLLocationManager()
if CLLocationManager.authorizationStatus() == .Restricted
|| .authorizationStatus() == .Denied {
manager.requestWhenInUseAuthorization()
manager.requestAlwaysAuthorization()
}
}
谁能帮我解决这个问题?
有关 CoreLocation 和请求授权的最佳文章在这里:http://nshipster.com/core-location-in-ios-8/
几点:
- 仅在当前状态为 .NotDetermined 时请求授权
- 如果当前状态为.Denied,那么您可以post发出警报询问 用户进入设置并打开位置服务,但调用任何一种请求方法都不会执行任何操作。
- 记得在你的 plist 中加入一个 NSLocationUsageDescription ! (我 经常忘记这个。)