ios – 没有调用didUpdateLocations
发布时间:2020-12-14 18:58:47 所属栏目:百科 来源:网络整理
导读:我将我的对象设置为locationManager的委托,并调用didChangeAuthorizationStatus方法,它执行此操作: func locationManager(manager: CLLocationManager!,didChangeAuthorizationStatus status: CLAuthorizationStatus) { if status == CLAuthorizationStatus
我将我的对象设置为locationManager的委托,并调用didChangeAuthorizationStatus方法,它执行此操作:
func locationManager(manager: CLLocationManager!,didChangeAuthorizationStatus status: CLAuthorizationStatus) { if status == CLAuthorizationStatus.AuthorizedWhenInUse { self.locationManager.startUpdatingLocation() } } 我也有这个方法,在这之后永远不会被调用: func locationManager(manager: CLLocationManager!,didUpdateLocations locations: [AnyObject]!) { if locations.count == 0 { return } //Do stuff } 有什么想法可能没有被调用?我认为被解除分配的对象是一个选项,但是当它达到authorizationStatus方法时它也会被释放. 解决方法
这是一个迟到的答案,但当我遇到同样的问题时,我偶然发现了这个问题(didChangeAuthorizationStatus被调用但没有didUpdateLocations).当然,这不是代码相关的东西,而是我在没有位置设置的模拟器中进行测试.因此,从未找到该位置,导致从未调用didUpdateLocations.
要解决此问题…在模拟器中转到Debug – >位置 – > <选择位置>. 编辑还应该注意,如果未在模拟器中设置位置,则会运行locationManager:didFailWithError:正如您所期望的那样. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |