【问题标题】:Apps that keep users informed of their location at all times and nun on background in iOS?让用户随时了解他们的位置并在 iOS 后台运行的应用程序?
【发布时间】:2016-08-19 07:03:51
【问题描述】:

我希望我的应用始终保持运行。我在info.plist 中设置了后台模式的位置。我还在UIApplication 类中添加了beginBackgroundTaskWithExpirationHandler。它使我的应用程序在后台运行最多 45-120 分钟。

有什么建议吗?

【问题讨论】:

  • 你给startUpdatingLocation打过电话吗?您无需开始后台任务。如果您拥有“始终”位置权限,那么您的位置代表将在确定新位置时被调用
  • 是的。我调用了 startUpdatingLocation,它每次都调用委托。但在 45-120 分钟后应用暂停。当我们打开应用程序时,它会从头打开。
  • 您是否将pausesLocationUpdatesAutomatically 设置为false?你在didUpdateLocations委托方法中做了什么?
  • 不,我没有将 pausesLocationUpdatesAutomatically 设置为 false。在 didUpdateLocations 中,我们将位置存储在一个数组中。
  • 尝试将该属性设置为 false

标签: ios iphone location background-task


【解决方案1】:

对于需要更多执行时间来执行的任务,您必须 请求特定权限以在后台运行它们,而无需 他们被停职。在 iOS 中,只允许特定的应用类型 在后台运行:

在后台向用户播放可听内容的应用, 例如音乐播放器应用程序 录制音频内容的应用程序 让用户随时了解其位置的后台应用程序 时间,例如导航应用程序 支持互联网语音的应用程序 需要下载和处理新内容的协议 (VoIP) 应用程序 定期从外部附件接收定期更新的应用程序 实现这些服务的应用程序必须声明它们的服务 支持和使用系统框架来实现相关方面 那些服务。声明服务让系统知道哪个 您使用的服务,但在某些情况下,它是系统框架 实际上可以防止您的应用程序被暂停。

你可以找到一些建议here

【讨论】:

  • 感谢您的回复。我已经检查了功能部分中的后台模式位置更新。
猜你喜欢
  • 2019-04-18
  • 2012-05-27
  • 1970-01-01
  • 1970-01-01
  • 2015-09-05
  • 2013-02-09
  • 1970-01-01
  • 2018-05-28
  • 2013-02-26
相关资源
最近更新 更多