如何通过后台刷新来判断我的应用是否已启动?

时间:2014-05-22 14:40:40

标签: ios events background refresh restart

我的iOS应用正在使用后台刷新(通过应用程序:didReceiveRemoteNotification:fetchCompletionHandler:API),我注意到有时iOS会在后台终止应用并稍后重新启动它。

在这种情况下,似乎应用程序:didFinishLaunchingWithOptions:正在被调用但是applicationDidBecomeActive:没有被调用,因为应用程序停留在后台。

我遇到的挑战是,我想知道我的应用程序是否由于我的应用程序中的后台刷新而在后台重新启动:didFinishLaunchingWithOptions:function,因为我在那里进行了一些早期处理。这可能吗?

1 个答案:

答案 0 :(得分:1)

如果是通过远程通知启动,请查找传递给-application:didFinishLaunchingWithOptions:

的启动密钥
  

用于访问传递给应用程序的启动选项字典中的值的键:willFinishLaunchingWithOptions:和application:didFinishLaunchingWithOptions:app delegate的方法

特别是:

  

UIApplicationLaunchOptionsRemoteNotificationKey
  此密钥的存在表示可以让应用程序处理远程通知。此键的值是包含远程通知的有效负载的NSDictionary。有关处理远程通知的详细信息,请参阅application:didReceiveRemoteNotification的说明。

如果是通过NSURLSession进行后台获取,则WWDC 2013的会话204有更多信息,但是您实施application:handleEventsForBackgroundURLSession:completionHandler:

enter image description here