CLLocationManagerDelegate locationManager:didFailWithError的文档说:
如果用户拒绝您的应用程序使用位置服务,则此方法会报告kCLErrorDenied错误。收到此类错误后,您应该停止位置服务。
但是,如果您只是忽略该错误,则无论如何都不会再获得任何位置更新。同样忽略错误的优点是,如果用户转到“设置”并为您的应用启用“位置服务”,则下次应用程序到达前台时,位置服务更新将重新开始。
所以我打算忽略来自locationManager的所有错误:didFailWithError,除非有人发现任何问题或者认为该应用会被拒绝。
一个问题可能是电源使用,但我认为一旦发生错误就没有使用额外的电源,因为我没有得到任何更新或任何东西。
我的后备是当我来到前台时重新启用更新。这样更好吗?
答案 0 :(得分:1)
直到最近我才处理kCLErrorDenied并且没有Apple问题。不应该有任何问题,因为您的应用程序只是表现得没有位置服务。但是,您应该处理它并向用户提供一些说明,以启用位置服务,尤其是如果位置服务是您应用的主要部分。