Могут ли фоновые службы продолжать работать, когда данные приложения зашифрованы в iOS

Я пытаюсь исследовать создание приложения iOS, в котором фоновые службы работают в фоновом режиме. Для этой фоновой службы необходимо получить доступ к данным приложения.

Также я хочу, чтобы данные приложения, хранящиеся на устройстве, были зашифрованы. Но в описании на странице Apple Developer говорится, что если данные приложения зашифрованы, к ним можно получить доступ только тогда, когда телефон разблокирован пользователем.

Означает ли это, что если фоновой службе каким-либо образом требуются данные приложения, ей не будет разрешен доступ к ним?


person user3498193    schedule 25.02.2016    source источник


Ответы (1)


Доступ, доступный в фоновом режиме, зависит от уровня защиты, назначенного данным. По умолчанию NSFileProtectionCompleteUntilFirstUserAuthentication применяется к данным, созданным вашим приложением. Этот класс защиты не позволит получить доступ к данным до тех пор, пока устройство не будет разблокировано пользователем в первый раз после перезагрузки. После первой разблокировки устройства доступ будет доступен до следующей перезагрузки устройства.

Если вам нужно, чтобы ваше приложение могло получить доступ к данным до первой разблокировки после перезагрузки, вы можете применить NSFileProtectionNone. Обратите внимание, что даже если применяется этот уровень, все данные на устройстве iOS шифруются, но в этом случае ключи, необходимые для расшифровки данных, хранятся на устройстве и не требуют пароля пользователя для создания ключа дешифрования.

Дополнительную информацию можно найти в Руководстве по безопасности iOS и в документация NSFileManager

person Paulw11    schedule 25.02.2016