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

不是“默默丢弃”。它默默地 授予 。继续使用需要在后台始终授权的功能。