iPad crash after fast restart, when performing task at exit
I'm working on an iPad app, targeting iOS 3.2 (so everyone can run it), and when the user presses the Home button, the app gets an applicationWillTerminate: message and it sends usage data to a server before it exits.
This all works fine. But if you exit and then restart the app before it's done exiting, it appears to crash.
The 5 seconds you get to clean up when the app is exiting begins once you get the applicat开发者_如何学GoionWillTerminate: message, but the app disappears immediately from the device, giving the user the opportunity to launch it again.
I think what's happening, is that they're just reactivating the app before it's done exiting, and so they're just jumping back into the first instance of the app just before it actually exits. So the second instance of the app appears to be crashing.
There is no crash log, and putting a log message into the application:didFinishLaunchingWithOptions: doesn't produce any logs in the console from that second launching of the app. This is why I'm pretty sure it's not actually creating a second instance but just re-entering the first instance which is almost done exiting.
So are there any ideas out there about how to avoid this situation? It seems odd that you are given 5 seconds to perform actions on exit, but then this odd behaviour happens as a result.
I'm worried part of the problem is that the app is targeting iOS 3.2 and is actually exiting when the HOME button is pressed, and if it were just going into the background, this wouldn't be an issue. Sadly, changing that behaviour is just not an option at this moment.
精彩评论