是否可以检查我在应用程序中花费了多少时间(在前台或后台)?我想在我的应用程序中显示此数据。有想法吗?
答案 0 :(得分:1)
是的,您可以做到。但是您必须做一些时间计算。首先,您需要2个来自“ AppDelegate”的代表-
1.func applicationWillEnterForeground(_ application: UIApplication)
2.func applicationDidEnterBackground(_ application: UIApplication)
现在,您需要保存该应用程序将要进入前景时的时间戳,以及当该应用程序进入后台时的另一个时间戳。您可以在应用程序用户默认设置中保存这两次。
之后,创建一个函数/类,该函数/类将返回“ Forground”时间与“ background”时间的时差。
“ applicationWillEnterForeground” 和“ applicationDidEnterBackground ”之间的区别是您= APP活动时间
,“ applicationDidEnterBackground” 和“ applicationWillEnterForeground ”之间的区别是您的 APP背景时间
答案 1 :(得分:0)
获取application(_:willFinishLaunchingWithOptions:)
中的当前时间并将其保存到永久性存储中
获取applicationWillTerminate(_:)
中的当前时间
这两次之间的差异将是应用程序运行的时间。
要获取当前时间,请使用let currTime = Date()
您可以将UserDefaults
用作最简单的持久性存储。
有关应用程序生命周期here
的更多信息