У меня есть приложение, которое включает в себя сеанс входа в систему. Когда приложение приостанавливается (iOS 4), я сохраняю текущее время, и если в следующий раз приложение становится активным в течение 15 минут с момента приостановки, я хочу, чтобы оно возобновилось. В противном случае я хочу, чтобы он вернулся на экран входа в систему, поскольку сеанс истек.
Вот что я делаю, напишите сейчас, чтобы реализовать это:
В applicationDidBecomeActive делегата приложения я проверяю время и при необходимости представляю экран входа в систему (модально). Однако проблема в том, что если приложение показывало UIAlertView или UIActionSheet при приостановке, оно не будет автоматически отклонять его, когда я представляю экран входа в систему. UIAlertView или UIActionSheet появятся на экране входа в систему, к которому он вообще не принадлежит. Я знаю, что могу зарегистрировать каждый UIAlertView и UIActionSheet для прослушивания applicationDidBecomeActive и отклонить его при необходимости, но, поскольку у меня их много во всем приложении, очень удобно, если я могу избежать этого.
Мне было интересно, есть ли способ отклонить все активные виды, который останется на экране, даже если другой контроллер представления представлен модально.
Или есть ли лучший способ справиться с тайм-аутом сессии в iOS 4?