gpt4 book ai didi

ios - CLLocationManager 不在 iOS 10.2 [Swift] 中调用 didUpdateLocation()

转载 作者:行者123 更新时间:2023-11-28 08:03:46 25 4
gpt4 key购买 nike

所以我在几个月前(当时 iOS 10.1 还是最新版本)写了这段代码,并且运行良好。但是,当我最近尝试使用 iOS 10.2 时,CLLocationManager 似乎没有调用 didUpdateLocation 函数。当我将模拟器恢复到 iOS 10.1 时,它再次运行。

当我试图查找我的问题时,我得到的只是 iOS 8 更新的解决方案,您还必须更新您的 info.plist。因此,我想知道是否需要对 iOS 10.2 的 CoreLocation 做一些额外的事情。我在 info.plist 中有 Privacy - Location When In Use Usage DescriptionPrivacy - Location Always Usage Description 信息属性。

let locationManager = CLLocationManager()
var userLocation:CLLocation = CLLocation()

func handleSwitchChanged() {
if onlineSwitch.isOn {
if CLLocationManager.authorizationStatus() != .authorizedAlways {
locationManager.requestWhenInUseAuthorization()
onlineSwitch.isOn = false
return
}
(mainScreen as! MainScreenController).currUser.isOnline = 1
determineUserLocation()
} else {
(mainScreen as! MainScreenController).currUser.isOnline = 0
removeFromFirebase()
}
}

func determineUserLocation() {
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestAlwaysAuthorization()

if CLLocationManager.locationServicesEnabled() {
locationManager.startUpdatingLocation()
}
}

func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
userLocation = locations[0] as CLLocation
}

最佳答案

我认为这可能只是 iOS 10.2 的一个错误。当我在 10.1 和 10.3 上尝试相同的代码时,它工作正常。

关于ios - CLLocationManager 不在 iOS 10.2 [Swift] 中调用 didUpdateLocation(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45777029/

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