【发布时间】:2015-07-17 18:51:23
【问题描述】:
我正在尝试在 AppDelegate 中确定用户是否将应用程序的位置权限设置为“从不”。如果没有获取位置,我的应用程序总是崩溃。
我在 AppDelegate 中的代码是:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
//location
var manager = CLLocationManager()
if CLLocationManager.authorizationStatus() == .Restricted
|| .authorizationStatus() == .Denied {
manager.requestWhenInUseAuthorization()
manager.requestAlwaysAuthorization()
}
}
谁能帮我解决这个问题?
【问题讨论】:
-
有什么错误?
-
它只是因为 nil 而崩溃
-
这是 Xcode 6 还是 7?
-
一旦我修复了明显的编译错误,您发布的代码就不会崩溃。这也没有多大意义。如果 authorizationStatus 为 Restricted,则用户无法授予访问权限,如果状态为 Denied,则用户已拒绝状态。在任何一种情况下请求授权都是没有用的。
-
@Anton,无论是您在项目的 rootviewcontroller 中使用的 CLLocationManager。
标签: swift authorization cllocationmanager appdelegate cllocation