【问题标题】:iOS: communicating GPS position change to remote web service when app is running in backgroundiOS:当应用程序在后台运行时,将 GPS 位置更改传送到远程 Web 服务
【发布时间】:2015-03-31 09:27:42
【问题描述】:

我想实现一个基于地理围栏的家庭激活系统。

有不同的方法来定义地理围栏 (e.g.)。我关心的是这一切将如何结合在一起(服务激活)。

我正在考虑用户通过电话(例如通过我正在开发的应用程序)设置地理围栏的用例。完成此操作后,数据将存储在远程 Web 服务中。 iOS 应用开发指南说您不能让应用在后台运行,我的疑惑从这里开始......

定义地理围栏的目的是在用户进入他定义为房屋的地理围栏后激活一些家庭/家庭服务。但是如果应用程序在后台运行,我怎样才能让应用程序将位置传达给网络服务?

我在远程后台数据获取中找到了this tutorial

Apple 开发人员 documentation 提到您可以获得后台位置更改更新,因此我假设当我收到位置更改回调(来自位置管理器服务)时,我可以有一些代码在应用程序中执行某些操作。如果这是正确的,那么我想知道是否将此步骤加上使用 remote posting 的数据可能是一个有效的解决方案(这必须在应用程序处于后台模式时发生)。

如果不能,您能否建议一种替代方法?

【问题讨论】:

  • 在后台模式中启用“位置更新”和“后台获取”。然后你甚至可以在后台提出请求。我们制作了您所说的应用并在 App Store 上发布。
  • @PowHu 感谢您的评论。您可以在这里分享您的应用程序的链接吗?了解您是如何处理用户体验的会很有用
  • 非常感谢。看不懂日语,但这是一个有趣的市场。日本对这些技术非常感兴趣。客户端代码开发复杂吗?
  • 这并不复杂。使用 CLLocationManager 并在“locationManager:didUpdateLocations:”中获取用户位置,然后保存到 server.Server 端,我们使用 Parse.com

标签: ios objective-c iphone background gps


【解决方案1】:

我相信,如果您在地理围栏内请求通知,您的应用将被唤醒以获取通知,您可以使用此通知来请求后台会话,然后可以使用该会话更新您的网络服务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    • 2021-08-02
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多