2016-08-19 24 views
1

我希望我的应用程序始终保持运行。我在info.plist中设置了背景模式的位置。并且我还在UIApplication类中添加beginBackgroundTaskWithExpirationHandler。它使我的应用程序在后台运行最长45-120分钟。应用程序能够随时向用户通知其位置以及在iOS中的背景中是否有尼姑?

有什么建议吗?

+0

您有一个称为'startUpdatingLocation'?您不需要开始后台任务。如果您有“始终”的位置权限,那么您的位置代表随时会在确定新位置时得到通知 – Paulw11

+0

是的。我打电话给startUpdatingLocation,它每次调用委托。但45-120分钟后应用程序暂停。当我们打开应用程序时,它会从一开始就打开。 –

+1

你是否将'pausesLocationUpdatesAutomatically'设置为false?你在'didUpdateLocations'委托方法中做了什么? – Paulw11

回答

1

对于需要更多的执行时间来实现的任务,必须 要求特定权限在后台运行它们,而不 他们被暂停。在iOS中,只有特定的应用程序类型允许 在后台运行:

应用程式播放音频内容给用户,而在后台, 如音乐播放器应用程序应用该记录的音频内容,而在 背景通过互联网向所有 时间通知用户位置的应用程序,例如导航应用程序支持通过互联网的语音的应用程序 需要定期下载和处理新内容的协议(VoIP)应用程序 定期从外部附件接收定期更新的应用程序 Apps实施这些服务的公司必须声明他们支持并使用系统框架来实施012的相关方面的服务这些服务。声明这些服务可让系统知道您使用的服务,但在某些情况下,实际上会阻止您的应用程序被挂起的系统框架。

你可以找到一些建议here

+0

感谢您的回复。我已经在能力部分检查了背景模式位置更新。 –

相关问题