Необходимо реализовать следующие методы из протокола UIApplicationDelegate:
- applicationWillResignActive вызывается, когда на телефон поступает входящий звонок
- applicationWillTerminate вызывается, когда пользователь отвечает на вызов
- applicationDidBecomeActive вызывается, если пользователь решает не отвечать на вызов
applicationWillTerminate даст несколько секунд для сохранения текущего состояния ваших приложений. Самый простой способ сохранить состояние - через класс NSUserDefaults. Когда приложение запускается снова, вы читаете свое состояние из NSUserDefaults и восстанавливаете приложение в его прежнее состояние.