跟踪 iOS 应用程序在后台运行的时间

Posted

技术标签:

【中文标题】跟踪 iOS 应用程序在后台运行的时间【英文标题】:Tracking the amount of time iOS app is in background 【发布时间】:2013-02-13 19:24:16 【问题描述】:

有没有办法跟踪应用程序在后台运行的时间,并在应用程序在 ios 中进入前台时显示相同的时间?

【问题讨论】:

对您而言,“在后台”与“已终止”不同吗?根据您的问题,我猜是这样,并且您想显示应用程序自进入后台以来终止所花费的时间。 是的,应用程序从进入后台状态终止需要多长时间?关于如何知道这一点的任何提示? 你是说你想知道应用程序在后台运行了多长时间才被终止?您的评论以及对已经给出的答案的评论似乎与原始问题相矛盾。 它与它被接受的事实相矛盾,因为它不能满足 OP 的要求。 【参考方案1】:

一种简单的方法是在您的应用程序委托的applicationDidEnterBackground: 方法中将日期保存到NSUserDefaults 中,然后在您的applicationWillEnterForeground: 方法中将默认日期与当前日期进行比较。这对你有用吗?

【讨论】:

不,我需要确切的时间,如果有办法我打算根据应用程序在后台的时间来实现一些方法 @user1886224 这种方法在什么意义上会导致不精确的结果? -[NSDate timeIntervalSinceDate:] 会为您提供两个日期之间的精确时间间隔(以秒为单位),这听起来像是您所要求的。即使应用程序终止,用户默认值也应该保持不变。 使用这两个事件以来的时间:application:didEnterBackground: 和 application:willTerminate: 或 application:willEnterForeground。检查此答案 (***.com/a/3139649/1130894) 了解何时调用 willTerminate。

以上是关于跟踪 iOS 应用程序在后台运行的时间的主要内容,如果未能解决你的问题,请参考以下文章

ios12后台定位服务停止

如何在 React Native 应用程序的 iOS 后台运行 socket.io?

iOS 后台位置跟踪在测试设备上失败

iOS CoreLocation 在后台

应用程序在后台运行时进行位置跟踪

在 iOS 上不断跟踪用户位置