如何让IOS询问用户是否希望每次都允许应用程序使用他们的位置?

时间:2013-05-15 01:44:19

标签: ios

如果我们尝试访问用户的位置,iOS会告诉用户我们的应用程序想要使用他们的位置。

如果我这样做

[locationManager startUpdatingLocation];

将显示警告。

然而,这只发生过一次。

一旦显示弹出,看起来似乎已经设置了一些变量或默认值。

如何重置这些默认值,以便下次我的应用想要使用位置用户时会再次询问用户?

Google地图可以反复显示。

2 个答案:

答案 0 :(得分:1)

它只在第一次显示,你无能为力改变它。您可以做的是让您的用户在设置上允许它。

您可以通过检查:

来检查您的应用是否具有权限
[CLLocationManager locationServicesEnabled]

来自文档:

  

用户可以通过在常规中切换位置服务开关,从“设置”应用程序启用或禁用位置服务。

     

您应该在开始位置更新之前检查此方法的返回值,以确定用户是否为当前设备启用了位置服务。如果此方法返回NO并且您仍然启动位置更新,则Core Location框架会提示用户确认是否应重新启用位置服务。

答案 1 :(得分:1)

Apple要求他们许可,而不是

翻译:您无法控制该过程的这一部分。小弹出窗口:

location

只有在您第一次提出要求时才会显示

- 因此用户始终感觉自己处于控制之中。在他们第一次接受后,Apple认为他们可以使用您的应用从他们的设备获取他们的位置信息,并且不会再次显示*。

*除非他们专门进入设置并为您的应用禁用位置服务。