Ios 如何知道我的应用程序被终止的原因

Ios 如何知道我的应用程序被终止的原因,ios,ios7,gps,background-process,ios7.1,Ios,Ios7,Gps,Background Process,Ios7.1,我正在为iOS 7.0+制作一个背景跟踪GPS应用程序 当我在背景中跟踪位置时,我会遇到一些问题,它在5分钟后就被杀死了,即使我们在高速公路中间,每秒有1个位置。它在持续处于活动状态时不会被杀死 这似乎只发生在iOS 7.0版本上,而不发生在更高版本上 我已经注册了plist location后台活动 我需要最大的准确性和最短的更新时间,因此我不是使用重大更改方法,而是使用基本的startUpdatingLocation。此应用程序主要用于插在车内(电池不受影响) 我将location委托设置为

我正在为iOS 7.0+制作一个背景跟踪GPS应用程序

当我在背景中跟踪位置时,我会遇到一些问题,它在5分钟后就被杀死了,即使我们在高速公路中间,每秒有1个位置。它在持续处于活动状态时不会被杀死

这似乎只发生在iOS 7.0版本上,而不发生在更高版本上

我已经注册了plist location后台活动

我需要最大的准确性和最短的更新时间,因此我不是使用重大更改方法,而是使用基本的
startUpdatingLocation
。此应用程序主要用于插在车内(电池不受影响)

我将location委托设置为app委托,这样它就不太容易被释放

即使所有这些都完成了,仍然不可能在后台将此应用程序激活超过5分钟

我在iOS上战斗,它总能找到终止我的应用程序的方法,即使是应用程序状态恢复

所以问题是,有没有办法知道为什么我的应用程序会被终止

没有帮助我或没有响应我的需求的线程列表,以及我已经访问过的线程列表:


系统不会告诉您应用程序终止的原因

我将location委托设置为app委托,这样它就不太容易被释放


委托对位置管理器是否解除分配没有影响。您必须保持对位置管理器本身的强烈引用。

您是否在后台使用位置?(例如,缓冲它,并将其写入文件系统),或者您是否仅使用该位置在地图上显示某个内容(不可访问,因为在后台),您的应用程序是否正在终止或正在崩溃?由于我没有崩溃报告(HockeyApp),它实际上已终止。我在后台不写任何缓冲区或系统文件,只是在数组中插入位置。我应该使用延迟位置,但因为它可能运行在不启用延迟位置的设备上,所以我还没有优化代码。谢谢你的回答。我以为是委托人解除了分配,而不是位置管理器本身。我需要对location manager进行强引用,因为它位于单例中,并且我不确定默认情况下类变量是否强。