gpt4 book ai didi

ios - CLLocationManager 使我的应用程序在激活位置后崩溃

转载 作者:行者123 更新时间:2023-11-28 09:57:40 32 4
gpt4 key购买 nike

这很奇怪。有些设备会崩溃,有些设备不会。问题是当位置未激活时,应用程序永远不会死,但是当我允许我的应用程序访问某些设备的位置时崩溃,而在其他设备中则不会。

这是代码:

    override func viewDidAppear(animated: Bool) {

if CLLocationManager.locationServicesEnabled(){

switch CLLocationManager.authorizationStatus() {

case .NotDetermined, .Restricted, .Denied:

print("No access")

case .AuthorizedAlways, .AuthorizedWhenInUse:

let geocoder = CLGeocoder()

longitude = self.locationManager.location!.coordinate.longitude
latitude = self.locationManager.location!.coordinate.latitude

geocoder.reverseGeocodeLocation(CLLocation(latitude: (latitude), longitude: (longitude)), completionHandler: {placemarks, error in

if error == nil && placemarks!.count > 0 {

self.thoroughfare = (placemarks!.last?.thoroughfare)!
self.city = (placemarks!.last?.locality)!

print(self.thoroughfare)
print(self.city)
print(self.longitude)
print(self.latitude)
}
})
}
} else {

print("Location services are not enabled")

}
}

当应用程序崩溃时,错误指向这一行:

longitude = self.locationManager.location!.coordinate.longitude
latitude = self.locationManager.location!.coordinate.latitude

我已经在 10 台设备上测试了该应用程序,此时有 1-2 台设备崩溃了。

这是怎么回事?我认为我正在正确地管理在允许或不允许位置时做什么和不做什么。

最佳答案

你应该检查是否

self.locationManager.location

使用前为null

关于ios - CLLocationManager 使我的应用程序在激活位置后崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34463055/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com