我正在尝试准确跟踪我们应用中的会话,并且我想了解如何确定应用程序是否由用户启动,而不是操作系统。
我定义了' session'当应用程序进入前台时 - 这可能发生在与远程或本地通知交互,明确打开应用程序,点击深层链接等。
目前我每次调用applicationDidBecomeActive
时都会考虑一个新会话,但操作系统在刷新应用程序时会定期启动它。
我不想使用willEnterForeground
,因为首次打开该应用时未调用它。
我不想使用didFinishLaunchingWithOptions
,因为在推送通知发生时会调用它。
看起来applicationDidBecomeActive
是代码所在的位置,但我怎么知道系统何时调用它而不是用户操作?