iOS applicationDidBecomeActive:在didfinishlaunchingwithoptions之后没有调用:调用

时间:2016-02-19 11:46:01

标签: ios objective-c

连接这两种方法的日志并不总是配对。

# AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    NSLog(@"didFinishLaunchingWithOptions");
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    NSLog(@"applicationDidBecomeActive");
}

2 个答案:

答案 0 :(得分:1)

如果您的应用正在使用后台获取启用功能,iOS会将您的应用启动为后台获取模式并定期准备数据。

由于后台获取事件而启动,将调用 didFinishLaunchingWithOptions ,但不会调用 applicationDidBecomeActive

您可以通过在Xcode中编辑运行方案启用“由于后台获取事件而启动”选项来复制此方案。

答案 1 :(得分:-2)

- (void)applicationDidBecomeActive:(UIApplication *)application

仅在您的应用从非活动状态移至活动状态或转换为前景时调用。

所以不是奇怪或错误,一切都应该如此。