I have an NSRunLoop in my app connected to a timer:
NSTimer *updateTimer = [NSTimer scheduledTimerWithTimeInterval:300 target:self selector:@selector(onUpdateTimer) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:updateTimer forMode:NSRunLoopCommonModes];
When the app goes into background, what happens to this runloop? Does it disappear, meaning I should recreate it in applicationDidBecomeActive:?
You should stop your timers when your app is suspended and restart them in
-applicationDidBecomeActive:. See “What to Do When an Interruption Occurs” in Responding to Interruptions. You don’t have to worry about the run loop, though — the OS will take care of that part.