-3

由于苹果已经推迟了“始终允许”权限,并且只有操作系统可以并且会根据自己的方便性要求该权限,所以很难理解所有场景是什么。

如果您看到 WWDC 视频:https ://developer.apple.com/videos/play/wwdc2019/705/

这家伙在 04:14 清楚地说,“你要求 requestAlwaysAuthorization,Apple 为你提供了“While In Use”的最大选项,但同时委托回调说,该应用程序具有“Always Allow permission””。这可以按预期工作,并且我的应用程序只有在我保持打开状态时才会获取位置更新。他说,在 04:35,将地理围栏活动作为后台跟踪/始终允许的要求启动。这是让我感到困惑的地方,如果我将我的应用程序置于后台,位置更新就会停止。即使我的代表回电收到“始终允许”权限,为什么仍要求我为已经在移动的用户设置地理围栏?

在 05:22,巩固临时始终允许权限的弹出窗口仅出现(在操作系统方便的情况下),当您锁定设备并解锁它时,在将其置于后台后,如上段所述。但是中间的所有数据都丢失了。我的应用程序会跟踪用户的行程,这将完全取消记录用户在车辆中的移动的有效用例。

即使我跟随视频并在应用程序进入后台然后开始移动时创建地理围栏,在我锁定和解锁设备之前什么都不会发生。这似乎没什么用。

4

1 回答 1

2

即使我的代表回电收到“始终允许”权限,为什么仍要求我为已经在移动的用户设置地理围栏?

你不是。你误解了视频。他举了一个使用 Always 权力的例子。这只是一个例子。

在 05:22,巩固临时始终允许权限的弹出窗口仅出现(在操作系统方便的情况下),当您锁定设备并解锁它时,在将其置于后台后,如上段所述。但是中间的所有数据都丢失了。

不,不是。听听他在视频中说的话。如果用户现在接受 Always,则会传递保留的委托消息。

这将完全终止记录用户在车辆中的移动的有效用例。

不,不会的。该用例与您之前所说的任何内容无关。如果您的应用程序正在前台跟踪位置并以后台位置模式进入后台并继续跟踪,则它正在使用中。因此,您所需要的只是在使用时。所以所有那些 Always 的东西都与你无关。

这就是视频的重点。除非您需要,否则不要要求 Always。如果您确实要求它,请使用它,否则您将不会得到它。但你似乎不需要它。

于 2019-08-20T14:24:52.413 回答