Почему делегаты по защите данных iOS вызываются несколько раз?

Работая над iOS, Objective C, я обнаружил делегата UIApplicationDelegate,

applicationProtectedDataDidBecomeAvailable

вызывается несколько раз после разблокировки устройства. Какие могут быть возможные причины?


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


person Sazzad Hissain Khan    schedule 12.12.2019    source источник
comment
Вызывается ли applicationProtectedDataWillBecomeUnavailable несколько раз? Или они неуравновешенные?   -  person Rob Napier    schedule 12.12.2019
comment
@RobNapier нет, только applicationProtectedDataDidBecomeAvailable вызывается несколько раз.   -  person Sazzad Hissain Khan    schedule 12.12.2019


Ответы (2)


Это известная и нормальная функция вызова.

Согласно документации, applicationProtectedDataDidBecomeAvailable вызывается постоянно, чтобы сообщить делегату, что защищенные файлы теперь доступны. поэтому при блокировке некоторые файлы недоступны.

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

Ссылка: https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623044-applicationprotecteddatadidbecom

Надеюсь, это помогло. дайте мне знать.

person mw509    schedule 03.03.2020
comment
Но я не получаю applicationProtectedDataDidBecomeUnavailable между двумя последующими вызовами applicationProtectedDataDidBecomeAvailable. Почему fw-вызов доступен до того, как данные станут недоступны? Это путаница, правда? - person Sazzad Hissain Khan; 03.03.2020
comment
Что ж, это так, но я думаю, что это именно то, как это работает. Возможно, это изменится в будущих разработчиках, но пока ваши коды все еще работают, все в порядке! - person mw509; 03.03.2020

Большинство делегатов вызывается при срабатывании соответствующих функций. M8, если было 10 зашифрованных файлов, и эти 10 файлов запускают этого делегата индивидуально, когда устройство разблокировано, и мы должны определить, готов ли файл, который мы ищем, к использованию. для получения дополнительных сведений о зашифрованных файлах перейдите по этой ссылке.

Они также говорили о местоположении, камере, галерее и т.д., а также о Защищенных данных и ресурсах.

person AlbinMrngStar    schedule 03.03.2020
comment
проверьте эту ссылку developer.apple.com/documentation/uikit/. Я обновил свой ответ. проверьте это и вы наверняка знаете, как получить доступ к камере и локациям r8. - person AlbinMrngStar; 03.03.2020