Ios 如何检测用户是否启动了应用程序转换到前台

Ios 如何检测用户是否启动了应用程序转换到前台,ios,ios7,ios8,Ios,Ios7,Ios8,我正在尝试准确跟踪我们应用程序中的会话,我想了解如何确定应用程序打开是否由用户启动,而不是由操作系统启动 我将“会话”定义为当应用程序进入前台时——这可能发生在与远程或本地通知交互、显式打开应用程序、点击深层链接等过程中 现在我考虑一个新的会话,每次应用程序都被称为“BooMcActudio/”,但在刷新应用程序时,操作系统可以周期性地启动它。 我不想使用willEnterForeground,因为它在应用程序首次打开时未被调用 我也不想使用didfishlaunchingwithoptions

我正在尝试准确跟踪我们应用程序中的会话,我想了解如何确定应用程序打开是否由用户启动,而不是由操作系统启动

我将“会话”定义为当应用程序进入前台时——这可能发生在与远程或本地通知交互、显式打开应用程序、点击深层链接等过程中

现在我考虑一个新的会话,每次<代码>应用程序都被称为“BooMcActudio/<代码>”,但在刷新应用程序时,操作系统可以周期性地启动它。

我不想使用
willEnterForeground
,因为它在应用程序首次打开时未被调用

我也不想使用
didfishlaunchingwithoptions
,因为在出现推送通知时会调用它


看起来,
applicationIDBECOMEACTIVE
就是这个代码应该存在的地方,但我如何知道何时由系统调用,而不是由用户操作调用?

ApplicationIDBecMeactive:何时调用:应用程序首次启动后:didFinishLaunchingWithOptions:after应用程序将进入前台:如果没有URL可处理。在调用application:handleOpenURL:之后。后应用程序WillResignActive:如果用户忽略中断,如电话或短信。可能重复的