iOS 13 - 请求 "When in Use" 位置权限使我无法稍后请求 "Always"
iOS 13 - requesting "When in Use" location permissions prevents me from requesting "Always" later
我们的应用在启动时请求 "When in Use" 位置权限。稍后,如果用户想要打开某个功能,我们会请求 "Always" 位置权限。 WWDC talk 关于这些变化表明这应该是可能的:
如果您的应用预先请求使用时授权,并且用户在此提示中授予了它,那么您的应用已经获得了使用时授权,没有临时期限,也没有后续提示。当你引入一个真正需要它的杀手级新功能时,它也会节省它的机会,以后总是要求它。
但是对于 iOS 13,当我第一次请求 "When in Use" 权限时,我看到后来对 [CLLocationManager requestAlwaysAuthorization]
的调用被静静地丢弃,没有任何迹象。如果我删除第一个获取 "When in Use" 权限的调用,则请求 Always 可以正常工作。这种行为是预期的吗?
be silently discarded with no indication
不是“默默丢弃”。它默默地 授予 。继续使用需要在后台始终授权的功能。
我们的应用在启动时请求 "When in Use" 位置权限。稍后,如果用户想要打开某个功能,我们会请求 "Always" 位置权限。 WWDC talk 关于这些变化表明这应该是可能的:
如果您的应用预先请求使用时授权,并且用户在此提示中授予了它,那么您的应用已经获得了使用时授权,没有临时期限,也没有后续提示。当你引入一个真正需要它的杀手级新功能时,它也会节省它的机会,以后总是要求它。
但是对于 iOS 13,当我第一次请求 "When in Use" 权限时,我看到后来对 [CLLocationManager requestAlwaysAuthorization]
的调用被静静地丢弃,没有任何迹象。如果我删除第一个获取 "When in Use" 权限的调用,则请求 Always 可以正常工作。这种行为是预期的吗?
be silently discarded with no indication
不是“默默丢弃”。它默默地 授予 。继续使用需要在后台始终授权的功能。