我对定位服务的选项感到困惑。三个选项是“始终”、“从不”和“使用应用程序时”。
最初我认为“使用应用程序时”的意思是在前台使用应用程序时。
“始终”是指在前台或后台使用它时。
但是这个document https://support.apple.com/en-gb/HT203033
有些应用程序只会在使用该应用程序时要求使用您的位置。
当您在某个应用程序中积极使用该应用程序时,该应用程序将被视为“正在使用”
前台,或者在后台使用时,状态
栏将指示。
其他应用程序将要求访问您的位置,即使该应用程序
未使用。当您允许应用程序始终使用您的位置时,iOS
会在应用程序之后提醒您哪些应用程序可以使用您的位置
在后台使用您的位置。
令人困惑。那么“始终”和“使用应用程序时”有什么区别?
之间的主要区别Always
and When-in-use
是:如果您使用后者并且您的应用程序被终止(由用户或操作系统),那么您的应用程序将停止接收 CoreLocation 服务更新。您的应用程序只有在前台和后台时才会收到更新(假设您启用了后台定位功能)。前一个权限将启动您的应用程序,即使它不在内存中。
您可以阅读更多内容在此开发人员文档页面上 https://developer.apple.com/documentation/corelocation/choosing_the_authorization_level_for_location_services。以下是苹果开发者文档的摘录:
使用时授权。您的应用程序可以使用大多数服务,但无法使用自动重新启动应用程序的服务。您的应用程序必须始终在前台运行时启动服务。如果您为应用程序启用后台定位功能,则挂起的应用程序将在后台唤醒以处理位置事件。但是,如果您的应用程序未运行,它将不会启动。
始终授权。您的应用程序可以使用所有位置服务,并且可以从前台或后台启动这些服务。如果您的应用未运行时发生位置相关事件,系统将启动您的应用并传递该事件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)