如何跟踪用户';当他们进入或离开某些地方时,他们在iOS(Swift)中的连续位置?
我正在构建一个具有以下要求的应用程序:如何跟踪用户';当他们进入或离开某些地方时,他们在iOS(Swift)中的连续位置?,ios,swift,xcode,gps,location,Ios,Swift,Xcode,Gps,Location,我正在构建一个具有以下要求的应用程序: 有X多个位置可供用户办理入住或退房手续 每当用户输入任何X位置时,我都需要调用一些后端API 每当用户退出任何X位置时,我都需要调用相同的后端API 即使用户将应用程序置于后台、前台或硬关闭状态,也需要这样做 X位置的数量可以随时更改,但只要应用程序可以调用后端API进行更新,就可以随时进行更新 这些位置的最小土工围栏半径为100米 我已经找到了各种各样的解决方案。第一种方法是在应用程序仅使用startUpdatingLocation()打开时跟踪位置,但
startUpdatingLocation()
打开时跟踪位置,但它失败Requirement 4。第二种方法是使用startMonitoringSignificantLocationChanges()
跟踪位置,但当用户进入或离开某个区域时,该方法存在显著差异,即,有时它无法捕捉到签入或签出,因此无法满足要求2和3
唯一需要尝试的是区域监控,我想知道它是否能够满足上述所有参数。我也找不到多少关于如何最好地解决这个问题的文档。有人能给我指一下正确的方向吗?你可以使用CLCircularRegions发出进入/退出通知,但当应用程序硬关闭时,什么都不起作用。如果用户杀死应用程序,它就死了。谢谢@Paulw11,当应用程序硬关闭时,除了向用户发送推送通知消息外,我还有什么方法可以重新启动应用程序吗?没有。iOS让用户负责。如果他们杀死一个应用程序,它将保持死机状态。实际上,根据区域条目上的第二个答案,将重新启动一个终止的应用程序,因此可能需要进行一些测试。@Paulw11区域条目/退出回调将唤醒你的应用程序10秒钟,然后将其发送到后台。您可以使用此时间发送
UILocalNotification
,以便用户打开应用程序