【问题标题】:CLLocation Manager should start updating location automaticallyCLLocation Manager 应该开始自动更新位置
【发布时间】:2013-06-28 07:04:45
【问题描述】:

我正在开发一个应用程序,它使用CLLocationManager 来跟踪用户的当前位置。

我一启动应用程序,它一直运行良好,直到一天结束,我曾经在晚上 5 点之前获取用户的位置。

我希望我的应用程序在第二天早上自动启动,而不启动应用程序,但我的应用程序在后台运行。 我只想像 android 中的警报管理器一样工作。有什么建议吗?

我希望 CLLocationManager 启动UpdatingLocation,即使设备在未启动应用的情况下重新启动[在关闭设备时,应用正在后台运行]

如何实现?

【问题讨论】:

  • "startUpdateLocation" 方法仅在您处于时间之间时调用。
  • @mindfreak 是的,我们需要调用 startUpdatingLocation,但即使我重新启动了 iphone,它也应该自动启动而不启动。即使应用程序在后台运行,我也应该在哪里调用该方法。
  • 请看我的回答s_o
  • @Daij-Djan 是的,当然。我正在查。谢谢

标签: iphone ios objective-c ios6 cllocationmanager


【解决方案1】:

iOS 重新启动注册位置更改的应用程序!这已经在 ios6 下工作了!但仅限于背景。以便可以跟踪位置

参见例如将跟踪您的位置的“移动”应用程序

这个想法是你的应用程序唤醒到后台模式。

见:

注意:

比较:

【讨论】:

    【解决方案2】:

    您根本无法使用 iOS 6 或更低版本执行您想要的操作(应用程序无法在这些 iOS 版本上自行启动),解决方法是提醒用户使用本地通知启动您的应用程序。但 iOS 7 带来了一些新功能,并允许某些应用在后台唤醒以完成任务。

    【讨论】:

    • 我的问题不在于应用程序本身的启动。即使应用程序在第二天处于后台,甚至设备在没有启动应用程序的情况下重新启动,我也想自动开始跟踪位置。
    • 我不认为没有用户交互你可以做到这一点。而且,我很理解你的问题。
    • 是的,明白。谢谢。
    【解决方案3】:

    你不能让 startUpdatingLocation(didUpdateLocations) 在重启后自动运行。你必须 1. 使用 startMonitoringForRegion ; 2.或者使用远程通知调用startUpdatingLocation。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多