我想检查我的应用程序是否已在我的应用程序委托的 didFinishLaunchingWithOptions 中启动以进行后台提取。launchOptions 字典中没有任何内容。那么有什么方法可以检查吗?
我知道我可以检查applicationState
,但由于某种原因,有时它会返回 UIApplicationStateBackground,即使我正常启动应用程序也是如此。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
if (application.applicationState != UIApplicationStateBackground) {
// Analytics initialization code
}
}
我在 Analytics 初始化代码处创建了断点,即使我正常启动应用程序,有时它也会进入此块!
我知道我可以在稍后applicationDidBecomeActive
或applicationDidEnterBackground
将被调用时检测到状态。如果我将使用这些方法来检测状态,我需要将我的 Analytics 初始化代码移动到其他地方。如果它保留在application:didFinishLaunchingWithOptions:
其中,则每次我的应用程序启动后台获取时都会调用它。所以也许我应该将 Analytics 初始化代码移到其他方法而不签applicationState
入application:didFinishLaunchingWithOptions:
?如果是这样,我可以使用哪种方法?