I’ve noticed that viewDidLoad of the viewController will not run if the app has been “minimized” in the iOS multitasking state, and then you re-open it. It defaults to the last view, with none of the initialization of viewDidLoad.
I’d be interested in making sure that some piece of code always runs whenever the app is launched. Now I read here that perhaps the appDelegate is the place for this. Before I re-arrange my code to move things from viewDidLoad to the application delegate, I thought I’d check here first to make sure there isn’t any other option.
Look at the UIApplicationDelegate methods. You can be notified when the application resumes from background.