7

Hey there, I'm trying Multitasking in the Simulator (I only have a 2nd gen iPod and an iPad) and I'm still having some problems. My testing methods look like this:

- (void)applicationDidBecomeActive:(UIApplication *)application {
 NSLog(@"Entering %s",__FUNCTION__);

 if (enteredFromBackground) {
  NSLog(@"Entering from Background");
  enteredFromBackground = NO;
 }
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
 NSLog(@"Entering %s",__FUNCTION__);

 enteredFromBackground = YES;
}

Unforntunately, I'm not seeing the NSLog from applicationWillEnterForeground, that's why I added the line to show me something in applicationDidBecomeActive. All I get is the

2010-11-20 15:58:12.796 iBeat[45997:207] Entering -[AppDelegate_Shared applicationDidEnterBackground:]
2010-11-20 15:58:18.160 iBeat[45997:207] Entering -[AppDelegate_Shared applicationDidBecomeActive:]
Bersaelor
  • 2,517
  • 34
  • 58
  • The accepted answer is not my scenario and I still have this problem. I have an iOS app which doesn't adopt scenes. In iOS 16.2 simulator, applicationWillEnterForeground is never invoked. It's counterpart, applicationWillEnterBackground is invoked consistently. – NightFuryLxD Jan 27 '23 at 08:50

2 Answers2

11

After having this problem in iOS 13, I found out that I was waiting for applicationWillEnterForeground(_ application: UIApplication) to be called instead of sceneWillEnterForeground(_ scene: UIScene).

For more information, read this answer:

enter link description here

Laura Corssac
  • 1,217
  • 1
  • 13
  • 23
5

Finally I found my problem! Since I have a universal Application, I have an Appdelegate_Shared, an Appdelegate_iPhone, and an Appdelegate_iPad. I had an empty implementation of "applicationWillEnterForeground" in the two subclasses but didn't call super!

And then I wondered why the method in Appdelegate_Shared never got called o.O

Bersaelor
  • 2,517
  • 34
  • 58