Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS应用程序在后台被杀死?_Ios_Geolocation_Core Location_Background Process - Fatal编程技术网

iOS应用程序在后台被杀死?

iOS应用程序在后台被杀死?,ios,geolocation,core-location,background-process,Ios,Geolocation,Core Location,Background Process,我创建了一个即使在后台也能跟踪用户位置的应用程序。然后,当用户选择结束会话时,应用程序会将用户的gps坐标记录到核心数据,并将其发送到应用程序。这似乎是正常工作,而开发,但现在我得到的报告,该应用程序是失踪的gps点大卡盘 我在应用程序中添加了一些日志记录(通过loge trytes.com api),有时当应用程序进入背景音乐时,它会停止日志记录,然后我会看到一条消息,表明应用程序代理的didfinishlaunching再次被调用。这让我觉得这个应用程序被杀了?是否有任何可靠的例子说明如何对

我创建了一个即使在后台也能跟踪用户位置的应用程序。然后,当用户选择结束会话时,应用程序会将用户的gps坐标记录到核心数据,并将其发送到应用程序。这似乎是正常工作,而开发,但现在我得到的报告,该应用程序是失踪的gps点大卡盘

我在应用程序中添加了一些日志记录(通过loge trytes.com api),有时当应用程序进入背景音乐时,它会停止日志记录,然后我会看到一条消息,表明应用程序代理的didfinishlaunching再次被调用。这让我觉得这个应用程序被杀了?是否有任何可靠的例子说明如何对其进行编码以在后台持续运行?我需要的功能非常类似于导航应用程序,在导航应用程序中,当位置处于活动状态时,会不断监视它

我试图在大约一分钟后关闭gps,然后每5分钟启动一次备份,以节省电池寿命,因为这是我需要的频率

它基于以下代码:

我觉得我对这一点有一个根本性的误解,我在苹果开发者中心没有遇到任何例子来说明这一点


非常感谢任何帮助或指导

我猜你在背景中使用了显著的位置变化? 在我看来,这是正确的做法

以下是您在使用时发生的情况:

  • 您的应用程序位于前台并获取位置
  • 应用程序进入后台,正在等待重大位置更改。 在这种模式下,您可能会收到较少的定位呼叫。只有当你搬家的时候
  • 应用程序被用户挂起(自动)或终止
  • iOS的位置发生了重大变化,它将调用所有记录这些信息的应用程序,并在后台唤醒它们
  • 回到3点
  • 发件人:

    显著更改位置服务还可以唤醒当前已暂停或未运行的iOS应用程序,以提供新的位置数据

    这就是再次调用
    didfishLaunching
    的原因