【发布时间】:2018-12-15 16:56:36
【问题描述】:
想象一下,我正在为我的 iOS 应用程序设置一个位置后台任务来跟踪用户的位置。用户授予我的应用访问他的位置“始终”的权限。这是否意味着后台任务仅在从应用程序启动时运行,直到手机关闭,或者这是否意味着重新启动操作系统后重新启动位置后台任务?
【问题讨论】:
标签: ios location core-location
想象一下,我正在为我的 iOS 应用程序设置一个位置后台任务来跟踪用户的位置。用户授予我的应用访问他的位置“始终”的权限。这是否意味着后台任务仅在从应用程序启动时运行,直到手机关闭,或者这是否意味着重新启动操作系统后重新启动位置后台任务?
【问题讨论】:
标签: ios location core-location
这意味着即使应用不在前台,您也可以访问定位服务。但是,您必须有一些活动的任务,例如正在进行的导航。
Always API 函数并不等同于持续后台执行。
【讨论】:
一个任务必须属于一个进程。如果线程的进程不工作,线程就不能工作。所以,答案是第一个,后台任务仅在从应用程序启动时运行。因为您的后台任务属于您的应用,这意味着您的进程。
如果你想让它工作,即使你的进程被杀死,你必须创建一个系统线程。但是,如果您不开发设备驱动程序,大多数操作系统都不允许用户这样做。
【讨论】: