如果我们尝试访问用户的位置,iOS会告诉用户我们的应用程序想要使用他们的位置。
如果我这样做
[locationManager startUpdatingLocation];
将显示警告。
然而,这只发生过一次。
一旦显示弹出,看起来似乎已经设置了一些变量或默认值。
如何重置这些默认值,以便下次我的应用想要使用位置用户时会再次询问用户?
Google地图可以反复显示。
答案 0 :(得分:1)
它只在第一次显示,你无能为力改变它。您可以做的是让您的用户在设置上允许它。
您可以通过检查:
来检查您的应用是否具有权限[CLLocationManager locationServicesEnabled]
来自文档:
用户可以通过在常规中切换位置服务开关,从“设置”应用程序启用或禁用位置服务。
您应该在开始位置更新之前检查此方法的返回值,以确定用户是否为当前设备启用了位置服务。如果此方法返回NO并且您仍然启动位置更新,则Core Location框架会提示用户确认是否应重新启用位置服务。
答案 1 :(得分:1)
翻译:您无法控制该过程的这一部分。小弹出窗口:
只有在您第一次提出要求时才会显示
- 因此用户始终感觉自己处于控制之中。在他们第一次接受后,Apple认为他们可以使用您的应用从他们的设备获取他们的位置信息,并且不会再次显示*。
*除非他们专门进入设置并为您的应用禁用位置服务。