连接这两种方法的日志并不总是配对。
# AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog(@"didFinishLaunchingWithOptions");
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSLog(@"applicationDidBecomeActive");
}
答案 0 :(得分:1)
如果您的应用正在使用后台获取启用功能,iOS会将您的应用启动为后台获取模式并定期准备数据。
由于后台获取事件而启动,将调用 didFinishLaunchingWithOptions ,但不会调用 applicationDidBecomeActive 。
您可以通过在Xcode中编辑运行方案启用“由于后台获取事件而启动”选项来复制此方案。
答案 1 :(得分:-2)
- (void)applicationDidBecomeActive:(UIApplication *)application
仅在您的应用从非活动状态移至活动状态或转换为前景时调用。
所以不是奇怪或错误,一切都应该如此。