即使关闭,iPhone 应用程序也会发送位置信息

Posted

技术标签:

【中文标题】即使关闭,iPhone 应用程序也会发送位置信息【英文标题】:iPhone App to send location even when closed 【发布时间】:2010-11-29 11:19:48 【问题描述】:

基本上,在过去的几个月里,我一直在学习 Objective-C 以及如何为 iPhone 开发,并创建了一些基本的应用程序。现在我有了一个我有兴趣开发的 iPhone 应用程序的想法,我只是在寻找一些关于它是否真的可行的建议。我正在寻找创建一个应用程序,该应用程序每 15 分钟将 iPhone 的位置发送到我的服务器 - 即使该应用程序尚未打开/未打开。

这可能吗?如果是的话,您能否指出有关此主题的更多信息的方向。

谢谢。

【问题讨论】:

如果你的应用没有运行,它就什么也做不了。据我了解,ios 4 将允许您在后台运行应用程序。 is it allowed for location based app to transmite location data to remote server while working on the background ?的可能重复 【参考方案1】:

您可以将您的应用程序声明为需要后台定位服务。但这仅在 iOS 4 中可用,并且用户需要为您的应用程序允许定位服务。

更多关于多任务处理的信息可以找到here 更多获取用户位置信息可以找here

【讨论】:

【参考方案2】:

您的问题的答案可能是部分是或部分不是。基本上,即使您的应用程序未打开,您的应用程序也可以提供位置更新……并且您可以在用户位置更新时将其发送到您的服务器……但不可能像每 15 次那样按时间发送位置更新分钟..

如果您希望您的应用在后台模式下注册位置更新,您有两种选择:-

    在位置发生重大变化时发送位置更新(即,当用户大幅移动时发送位置更新,从而用户的手机信号塔发生变化)在这种情况下,您必须使用startMonitoringSignificantLocationChanges

    使用startupdatingLocation 发送连续的位置更新,并在 info.plist 文件中声明位置更新的后台模式键(使用 GPS)

在这两种情况下,您都必须处理 didUpdatetoLocation 以进行位置更新,一旦收到位置更新,Ur 应用就会在后台唤醒(注意第二种情况下的电池使用情况)

【讨论】:

以上是关于即使关闭,iPhone 应用程序也会发送位置信息的主要内容,如果未能解决你的问题,请参考以下文章

即使关闭防火墙后,传入请求也会被阻止

如何在iphone的后台获取位置[关闭]

即使浏览器关闭,服务人员也会在后台运行吗?

在 iOS10 中,即使 iPhone 肯定在信标旁边,screen-off 也会调用 DidExitRegion

iOS 位置更新,即使应用程序没有运行(比如找到我的 iphone)

是否可以从 iphone 静默发送位置数据(当然需要用户同意)?