iOS位置-iOS 8/9中的重大位置更改是否可以启动标准位置服务?

iOS位置-iOS 8/9中的重大位置更改是否可以启动标准位置服务?,ios,iphone,gps,location,background-service,Ios,Iphone,Gps,Location,Background Service,这里有很多关于iOS位置跟踪的问题,但最近苹果更新了很多功能,所以很多答案都过时了,我的问题是专门针对iOS 8和iOS 9的 我对创建一个位置跟踪应用程序感兴趣,该应用程序即使在应用程序关闭时也能准确跟踪用户。为此,苹果表示: 如果您让重要更改位置服务保持运行,并且 iOS应用程序随后被暂停或终止,服务 当新位置数据到达时自动唤醒您的应用程序。在 唤醒时间,应用程序被放在后台,您将获得一个 手动重新启动位置的少量时间(约10秒) 服务和处理位置数据 因此,我的理解是,如果您拥有所有必需的权限和

这里有很多关于iOS位置跟踪的问题,但最近苹果更新了很多功能,所以很多答案都过时了,我的问题是专门针对iOS 8和iOS 9的

我对创建一个位置跟踪应用程序感兴趣,该应用程序即使在应用程序关闭时也能准确跟踪用户。为此,苹果表示:

如果您让重要更改位置服务保持运行,并且 iOS应用程序随后被暂停或终止,服务 当新位置数据到达时自动唤醒您的应用程序。在 唤醒时间,应用程序被放在后台,您将获得一个 手动重新启动位置的少量时间(约10秒) 服务和处理位置数据

因此,我的理解是,如果您拥有所有必需的权限和plist密钥,操作系统将唤醒您的应用程序并允许您在10秒钟内完成某项操作,或者如果需要更多时间,则可以:

如果iOS应用程序需要更多时间来处理位置数据,它可以 使用 beginBackgroundTaskWithName:expirationHandler:的方法 UIC应用程序类

现在,这意味着如果我的应用程序需要更多的时间来处理位置数据,它可能会启动一个后台任务(使用expirationHandler)来处理。在阅读有关后台任务的文章时,我了解到后台任务最多可以运行10分钟

因此,我的总体问题是,当我的应用程序在发生重大位置更改时被唤醒时,是否可以启动标准位置服务并在后台无限期运行?是否可以在第一个后台任务到期之前启动另一个后台任务?

编辑: 它说:

因为它至少每15分钟唤醒一次系统和应用程序, 即使没有发生位置更改,它也会持续运行 直到你停止


因此,我的想法是,如果用户无中生有地启动手机,并且从不打开应用程序,最多15分钟后(即使他们站着不动),操作系统将启动我的应用程序,在这种情况下,我可以启动后台进程,启动GPS跟踪,从而获得准确的GPS位置。这种逻辑是否适用于操作系统?

主要问题是,重大的位置更改无法用于 “准确跟踪”用户。
重要的是1000米,因为它是基于信号塔的,而不是基于GPS的。 因此,当用户移动到下一个GSM小区时,您的应用程序将被唤醒。
这对于准确度跟踪来说不够准确

最后,这意味着您无法在应用程序关闭时进行acuratley跟踪,这仅适用于运行应用程序或后台运行

“在阅读背景任务时,我了解到背景任务可以 最多运行10分钟”


不,那不是真的。我的应用程序在后台运行并记录GPS位置,直到电池耗尽(8小时以上)。(它不使用重要位置模式)

主要问题是重要位置更改不能用于 “准确跟踪”用户。
重要的是1000米,因为它是基于信号塔的,而不是基于GPS的。 因此,当用户移动到下一个GSM小区时,您的应用程序将被唤醒。
这对于准确度跟踪来说不够准确

最后,这意味着您无法在应用程序关闭时进行acuratley跟踪,这仅适用于运行应用程序或后台运行

“在阅读背景任务时,我了解到背景任务可以 最多运行10分钟”


不,那不是真的。我的应用程序在后台运行并记录GPS位置,直到电池耗尽(8小时以上)。(它不使用有效位置模式)

谢谢您的回答!如果你的应用程序关闭了,它会被唤醒吗?苹果的文档还说,无论位置发生了什么变化,15分钟后显著的位置变化都会唤醒应用程序。所以我是说,当应用程序被唤醒时,我会启动一些后台进程,让它无限期地运行。有可能吗?没有,因为我不用Signif。定位服务,它不会被唤醒。此外,当用户关闭应用程序时,绝对不需要跟踪用户。唯一能做到这一点的应用是防止设备被盗,而且苹果已经预装了一个。我正在创建的应用是跟踪工人在现场的情况,这是一个诚实的应用,因为他们知道它正在运行。我正在尝试创建这样的应用程序,他们不能简单地关闭它,它将不再运行,但它会自动重新打开。所以从我所看到的来看,iOS是不可能的?不,有充分的理由认为这是不可能的。手机的所有者决定运行哪个应用程序。当应用程序关闭时,您可以向他们发送短信(例如,在应用程序可以向您的服务器发送消息的区域工作的工作人员)。在正常的间隔时间(活动消息)谢谢你的回答!如果你的应用程序关闭了,它会被唤醒吗?苹果的文档还说,无论位置发生什么变化,15分钟后显著的位置变化也会唤醒应用程序。所以我是说,当应用程序被唤醒时,我会启动后台进程,让它无限期地运行。这是pos吗sible?不,因为我没有使用Signif.location服务,所以它不会被唤醒。此外,当用户关闭应用程序时,绝对不需要跟踪用户。唯一应该这样做的应用程序是防止设备被盗,而且苹果已经预装了一个。我正在创建的应用程序是跟踪工人在现场的情况,这是一个h第一个应用程序,因为他们知道它正在运行。我正在尝试创建该应用程序,这样他们就不能简单地关闭它,它将不再运行,但它将自动重新打开。因此,从我看到它是