NSUserDefaults теряет свои ключи и значения при перезагрузке телефона, но не разблокирован

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

Контекст:

Мы используемNSUserDefaults в приложении для хранения пользовательских данных (например, имя пользователя).

Наше приложение имеет включенное местоположение в фоновом режиме.

Мы сталкиваемся с этой проблемой только при распространении по воздуху или с помощью Testflight. Если я перетащу .ipa (тот же, что был распространен по воздуху) в мой телефон, используя Xcode, я не будуне испытывать эту проблему.

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

Проблема: если в это время происходит значительное изменение местоположения, приложение начинает работать в фоновом режиме, ноNSUserDefaults пусто (имеет только несколько ключей от Apple, но ни один из наших пользовательских ключей). ЗатемNSUserDefaults никогда не восстанавливает эти ключи, независимо от того, что вы делаете (например, если вы разблокируете свой телефон и откроете приложение, вы увидите, что ключи по-прежнему отсутствуют).

Любая помощь или идея будут по-настоящему оценены :)

Ответы на вопрос(4)

Ваш ответ на вопрос