Вопрос проверяет знание механизмов защиты данных пользователя при переходе приложения в неактивное состояние.
Sensitive-информацию скрывают при переходе приложения в Inactive или Background. Обычно поверх интерфейса добавляют маску или заглушку. Это предотвращает отображение данных в превью диспетчера приложений. После возврата в Active UI восстанавливается.
iOS делает снимок экрана при сворачивании приложения, и этот снимок виден в App Switcher.
Снимок создаётся:
при переходе в Inactive
перед уходом в Background
Если ничего не сделать, пользовательские данные будут видны.
Добавление защитного слоя:
func sceneWillResignActive(_ scene: UIScene) {
let blur = UIVisualEffectView(effect: UIBlurEffect(style: .regular))
blur.frame = window.bounds
window.addSubview(blur)
}
При возврате в активное состояние слой удаляется.
отображение пустого экрана
показ логотипа
использование isSecureTextEntry для полей
Sensitive-информацию нужно скрывать до того, как система сделает snapshot. Лучший момент — переход приложения в Inactive.