CLLocationManagerDelegate locationManager:didFailWithError 的文档说:
如果用户拒绝您的应用程序使用定位服务,此方法将报告 kCLErrorDenied 错误。收到此类错误后,您应该停止定位服务。
但是,如果您只是忽略该错误,则无论如何您都不会获得任何位置更新。忽略该错误还有一个好处,即如果用户转到“设置”并为您的应用启用定位服务,则下次您的应用进入前台时,定位服务更新会重新开始。
因此,我计划忽略来自 locationManager:didFailWithError 的所有错误,除非有人可以发现任何问题或认为该应用程序将被拒绝。
一个问题可能是电源使用,但我认为一旦发生错误,就不会使用额外的电源,因为我没有得到任何更新或任何东西。
我的后备方案是在我进入前台时重新启用更新。这是否更好?