В этом случае вам потребуется отсчитать 30 секунд от любого взаимодействия с пользователем, поэтому я бы предложил создать глобальный NSTimer
созданный в вашем приложении делегат, который создает и выделяет вид вашего экранного заставки, если он достигает 30 секунд.
Мониторинг сенсорных событий и просмотр поворотов - если это произойдет, сделайте недействительным свой таймер и создайте новый.
Если вам не нравится аспект «создать / уничтожить», вы можете войти«время последнего ввода» от любого события касания / поворота, и ваш таймер может сравнивать его с текущим временем каждого тика.