Препятствование тому, чтобы уязвимая информация появилась в переключателе задачи
Q: Как я могу предотвратить уязвимую информацию, выведенную на экран моим приложением от появления в переключателе задачи?
A: Сразу после того, как Ваше приложение перемещается в фон, система получает снимок окна Вашего приложения, и этот снимок используется для представления приложения в переключателе задачи. Путем изменения его иерархии представления до того, чтобы быть приостановленным приложение может управлять, как это появляется в переключателе задачи.
Делегат Вашего приложения должен реализовать -applicationDidEnterBackground: метод. В Вашей реализации сконфигурируйте представления приложения, поскольку Вы хотите, чтобы они появились в переключателе задачи. Пример показан в Перечислении 1. Если сокрытие уязвимой информации лучше подходит для объектов помимо делегата приложения, те объекты могут прислушаться UIApplicationDidEnterBackgroundNotification, который сразу отправляется после того, как делегат приложения получает a -applicationDidEnterBackground: сообщение.
Прежде чем приложение возвращается в передний план, делегат приложения получает a -applicationWillEnterForeground . Ваша реализация должна восстановить иерархию представления назад к применимому состоянию как показано в Перечислении 2. Другие заинтересованные объекты могут прислушаться UIApplicationWillEnterForegroundNotification.
Перечисление 1 , Скрывающее содержание Вашего приложения перед приостановкой
- (void)applicationDidEnterBackground:(UIApplication *)application |
{ |
// Your application can present a full screen modal view controller to |
// cover its contents when it moves into the background. If your |
// application requires a password unlock when it retuns to the |
// foreground, present your lock screen or authentication view controller here. |
UIViewController *blankViewController = [UIViewController new]; |
blankViewController.view.backgroundColor = [UIColor blackColor]; |
// Pass NO for the animated parameter. Any animation will not complete |
// before the snapshot is taken. |
[self.window.rootViewController presentViewController:blankViewController animated:NO completion:NULL]; |
} |
Перечисление 2 , Восстанавливающее содержание Вашего приложения прежде, чем возвратиться в передний план.
- (void)applicationWillEnterForeground:(UIApplication *)application |
{ |
// This should be omitted if your application presented a lock screen |
// in -applicationDidEnterBackground: |
[self.window.rootViewController dismissViewControllerAnimated:NO completion:NO]; |
} |
История версии документа
| Дата | Примечания |
|---|---|
| 12.05.2014 | Новый документ, описывающий, как скрыть уязвимую информацию, когда Ваше приложение отправляется в фон. |