Я хочу заблокировать пользователей из моего приложения после периода нахождения в фоновом режиме. Я ловлю это в AppDelegate в applicationWillEnterForeground
(и сравниваю со временем, хранящимся в applicationWillResignActive
). Если меньше, чем период ожидания, никаких действий не происходит. Если больше времени ожидания, я звоню:
[_navigationController popToRootViewControllerAnimated:NO];
, который возвращает пользователя к корневому представлению.
Отлично работает с одним визуальным прерыванием. Предыдущее представление (то, что пользователь просматривал, когда приложение стало неактивным) появляется очень кратко, прежде чем перейти к root. При тестировании кажется, что представление появляется до вызова applicationWillEnterForeground
.
Единственная мысль, которая у меня возникла, - это спрятать все перед тем, как отключиться, например скрыть вид заполненным прямоугольником. Это пахнет как грязный хак для меня, поэтому я думаю, что есть лучший способ.
Я также открыт для разных способов достижения одного и того же конечного результата. Спасибо!