应用程序重新安装后的iOS位置权限

时间:2017-10-25 20:47:45

标签: ios geolocation ios-permissions

我正在使用Crashlytics进行内部应用程序测试,并注意到一件有趣的事情。我在我的应用程序中使用地理位置并要求用户授予权限。当客户第一次安装应用程序时,他会看到默认Apple的地理位置权限要求弹出。一切正常。 但是,如果用户将从手机中删除应用程序并再次安装...在这种情况下,当我要求权限时,弹出即不会出现但地理位置正在工作。怎么样?这是某种新功能还是iOS问题?我正在使用iOS 11.0.3进行测试。我在文档中没有找到任何内容,并且在以前的iOS版本中没有看到过这种行为。看起来iOS只是记住应用程序并在我要求用户权限而不是显示弹出时自动启用地理定位。 也许有人对此有答案?

1 个答案:

答案 0 :(得分:1)

检查授权状态时,代码模式可能有误,您看到的行为很可能是由于iOS对应用程序的缓存位置权限造成的。

在代码中,请确保检查授权状态(通过authorizationStatus()方法),并在当前状态为.notDetermined(kCLAuthorizationStatusNotDetermined)时继续请求位置授权。

iOS也会缓存应用程序的授权状态。如果您出于测试目的想要重置位置权限,可以将位置隐私设置设置为出厂默认设置:转到“设置”>“常规” >重置,然后点击重置位置和隐私。重设您的位置和隐私设置后,应用将停止使用您的位置,直到您授予他们权限。

很遗憾,开发人员对此没有控制权。 应用程序权限的缓存处于不断发展的阶段,我们正在努力寻找最佳的用户体验,因此您最近可能会注意到一些更改。此外,在宽限期内,应用程序卸载到重新安装的时间可能会有所不同。

如果您对应用程序的预期行为是最近发现的(在观察到您的应用程序行为相同的iOS版本上),并且卸载/重新安装的时间差立即出现(例如您可能测试应用程序的方式) ,请让我知道哪些应用程序,然后看看是否可以挖掘一些信息。