在调用 startMonitoringForRegion
[self.locationManager startMonitoringForRegion:region];
之后调用它的委托(delegate)方法。
当区域监控成功启动后,locationManager:didStartMonitoringForRegion:
委托(delegate)方法被调用。
但是如果区域监控不启动成功那么这个方法是不是叫做locationManager:monitoringDidFailForRegion:withError:
?
如果不是,那么何时调用 locationManager:monitoringDidFailForRegion:withError:
?
这通常发生在您的应用没有将位置访问权限设置为“始终”时我遇到了同样的问题,我通过执行以下操作修复了它。
首先确保你的 info.plist 中有这些
<key>NSLocationWhenInUseUsageDescription</key>
<string> Explain why?</string>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string> Explain why?</string>
第二次告诉位置管理员您希望始终访问位置,这是有道理的,因为您监控如下区域。
locationManager.requestAlwaysAuthorization()
如果您正确执行上述操作,那么您的区域监控应该不会失败
关于ios - 何时调用 monitoringDidFailForRegion 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40203941/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) | Powered by Discuz! X3.4 |