如何 On/Off TestFlight 应用程序的定位服务?

How to On/Off Location Services for TestFlight Apps?

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

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

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

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

正如您所说,这正是 iOS 的工作原理。一旦用户拒绝某个应用的位置服务,该应用就无法再次调用系统权限对话框。

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

好的,那么如何测试您的应用程序?好吧,如果您只是想知道您的应用程序在授予位置服务授权后是否有效,只需转到“设置”并授予它们,就像用户可能做的那样。

如果您想从授权状态(notDetermined)重新开始,以便您可以查看您的应用是否正确召唤系统对话框,您需要从您的设备中完全删除应用程序并重新安装。如果这还不够,您将不得不完全重置权限(在“设置”中的“常规”>“重置”>“重置位置和隐私”下);这有点麻烦,因为它会重置 所有 权限,但有时这是让设备清除其缓存的唯一方法。