iOS崩溃位置框架内

时间:2017-02-01 17:14:40

标签: ios swift geolocation cllocationmanager

我从用户那里得到了一些评论,比如现在开始后App崩溃了。

-[CLLocationManager onClientEventAuthStatus:]

我检查Apple的日志并找到一些有趣的东西。

enter image description here

看起来我在位置框架内崩溃了。

我在代码中做了什么:

class MyAppDelegate: NSObject, UIApplicationDelegate, CLLocationManagerDelegate {

 lazy var locationManager = {
        return CLLocationManager()
 }()

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

        ...

        locationManager.delegate = self
        locationManager.desiredAccuracy = kCLLocationAccuracyKilometer
        locationManager.requestWhenInUseAuthorization()
        locationManager.startUpdatingLocation()

        return true
     }

    func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
        locationManager.stopUpdatingLocation()
        //save location to property
    }

    func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {
        manager.stopUpdatingLocation()
    }
}

另外,我将属性NSLocationWhenInUseUsageDescription设置为一些文本。

我检查了所有方案,例如位置已停用。我无法重现任何崩溃。你知道可能的原因吗?

1 个答案:

答案 0 :(得分:0)

您是否能够看到询问用户位置的弹出窗口?我之前遇到过一个问题,我尝试从不是视图控制器的类中获取用户位置,因为我不在视图控制器中,因为没有显示要求用户位置的警报视图,因此限制我获取用户位置。