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

我正在使用Crashlytics进行内部应用程序测试,并注意到一件有趣的事情.我在我的应用程序中使用地理位置并要求用户授予权限.当客户第一次安装应用程序时,他会看到默认Apple的地理位置权限要求弹出.一切正常.

但是,如果用户将从手机中删除应用程序并再次安装…在这种情况下,当我要求权限时,弹出即不会出现但地理位置正在工作.怎么样?这是某种新功能还是iOS问题?我正在使用iOS 11.0.3进行测试.我在文档中没有找到任何内容,并且在以前的iOS版本中没有看到过这种行为.看起来iOS只是记住应用程序并在我要求用户权限而不是显示弹出时自动启用地理定位.

也许有人对此有所回答? 最佳答案 在检查授权状态时,您的代码模式可能存在错误,您看到的行为可能是由于iOS缓存应用程序的位置权限.

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

iOS也会为应用程序缓存授权状态.如果您要重置位置权限以进行测试,可以将位置隐私设置设置为出厂默认设置:转到设置>一般>重置并点按重置位置&隐私.重置您的位置和隐私设置后,应用会停止使用您的位置,直到您授予他们权限为止.

不幸的是,开发者没有控制权.
应用程序权限的缓存处于不断发展的阶段,我们正在努力寻找最佳用户体验,因此您最近可能已经发现了一些变化.此外,还有一个宽限期,应用程序卸载以重新安装时间可能会产生影响.

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

点赞