由于苹果已经推迟了“始终允许”权限,并且只有操作系统可以并且会根据自己的方便性要求该权限,所以很难理解所有场景是什么。
如果您看到 WWDC 视频:https ://developer.apple.com/videos/play/wwdc2019/705/
这家伙在 04:14 清楚地说,“你要求 requestAlwaysAuthorization,Apple 为你提供了“While In Use”的最大选项,但同时委托回调说,该应用程序具有“Always Allow permission””。这可以按预期工作,并且我的应用程序只有在我保持打开状态时才会获取位置更新。他说,在 04:35,将地理围栏活动作为后台跟踪/始终允许的要求启动。这是让我感到困惑的地方,如果我将我的应用程序置于后台,位置更新就会停止。即使我的代表回电收到“始终允许”权限,为什么仍要求我为已经在移动的用户设置地理围栏?
在 05:22,巩固临时始终允许权限的弹出窗口仅出现(在操作系统方便的情况下),当您锁定设备并解锁它时,在将其置于后台后,如上段所述。但是中间的所有数据都丢失了。我的应用程序会跟踪用户的行程,这将完全取消记录用户在车辆中的移动的有效用例。
即使我跟随视频并在应用程序进入后台然后开始移动时创建地理围栏,在我锁定和解锁设备之前什么都不会发生。这似乎没什么用。