tg-me.com/iosdev/501
Last Update:
Защита данных в приложениях для iOS
Защита данных — это функция iOS для предотвращения несанкционированного доступа.
Она включается автоматически, после установки активного пароля устройства.
Процессы шифрования и дешифрования выполняются автоматически и аппаратно ускоряются.
Доступно четыре уровня защиты, каждый из которых определяет уровень доступа. При создании файла, iOS автоматически применит дефолтный, если не указано иное.
⚫ No protection.
Файл всегда доступен.
⚫ Complete until first user authentication.
Это уровень по умолчанию. Файл недоступен до первой разблокировки устройства. После неё файл остается доступным до выключения или перезагрузки устройства.
⚫ Complete unless open.
Открыть существующие файлы можно только после разблокировки устройства. Если файл уже открыт, вы можете продолжать получать доступ к нему даже после того, как пользователь заблокирует устройство. Вы также можете создавать новые файлы и получать к ним доступ, пока устройство заблокировано или разблокировано.
⚫ Complete.
Доступ к файлу возможен только после разблокировки устройства.
Методы для создания и изменения уровня защиты
1️⃣ Чтобы создать и зашифровать новый файл за один шаг, создайте объект данных с содержимым файла и вызовите метод write(to:options:)
.
2️⃣ Чтобы изменить уровень защиты данных существующего файла, используйте метод setResourceValue(_:forKey:)
для NSURL
.
Управление доступом к зашифрованным файлам
В зависимости от уровня защиты файла, попытки прочитать или записать его содержимое могут закончиться неудачей, если пользователь впоследствии заблокирует устройство. Чтобы убедиться, что ваше приложение может получить доступ к файлам, сделайте следующее:
🔘Выберите уровень защиты данных, соответствующий вашим потребностям.
🔘Используйте методы applicationProtectedDataWillBecomeUnavailable(_:)
и applicationProtectedDataDidBecomeAvailable(_:)
для закрытия и повторного открытия файлов с уровнем защиты completeFileProtection
.
@iOS Dev — защищайте файлы пользователей.
BY iOS Dev

Share with your friend now:
tg-me.com/iosdev/501