首页 > 解决方案 > 如何打开/关闭 TestFlight 应用程序的定位服务?

问题描述

我开发了一个使用定位服务的 iPhone 应用程序。我将其上传到 TestFlight 并将其下载到 iPhone 设备上进行检查。

该应用程序在登录后要求位置许可。如果授予权限,它将正常工作。如果“拒绝”,它将显示一条消息,要求打开定位服务。

我“拒绝”了权限,关闭了应用程序并重新启动它,但似乎 iPhone 可以记住以前的位置设置。它没有再问我是否需要允许定位服务。这在模拟器中也发生过,所以我认为iOS就是这样。

由于我的应用程序在 TestFlight 中,我如何为此打开/关闭位置服务,所以现在我可以检查它如何与位置服务一起工作?

标签: iosiphonetestflight

解决方案


正如你所说的,这就是 iOS 的工作方式。一旦用户拒绝了应用程序的定位服务,该应用程序就无法再次调用系统权限对话框。

如果您的应用程序想在启动时或需要使用位置服务并发现位置服务已关闭或其状态为 时发出自己的denied警报,那很好。但这完全取决于您的应用程序。基本上,您是在请求用户前往设置并授权您的应用程序;您甚至可以在警报中包含一个按钮,用于切换到用户的设置,这是很常见的事情。

好的,那么测试您的应用程序呢?好吧,如果您只想知道在授予位置服务授权时您的应用程序是否正常工作,只需转到设置并授予它们,就像用户可能做的那样。

如果您想在没有授权状态(notDetermined如果这还不够,您将必须完全重置权限(在“设置”中的“常规”>“重置”>“重置位置和隐私”下);这有点痛苦,因为它会重置所有权限,但有时这是让设备清除其缓存的唯一方法。


推荐阅读