NSUserDefaults сбрасывается

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

Мой вопрос: может ли пользователь по умолчанию получить коррумпирован / сброс по какой-то причине?

Несколько заметок о том, как я его использую:

  • Когда я запускаю свое приложение, я храню значения по умолчанию, только если ключи не существуют с использованием registerDefaults (это делается для того, чтобы позаботиться о сценарии «первой установки»).

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

  • Мое использование NSUserDefaults довольно просто – сохранение numbers/strings , чтение их иногда и т. Д. Ничего особенного. Я не удаляю ключи.

Некоторые примеры кода:

Например, я сохраняю данные в разных местах, используя:

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setObject:@"FirstLevel" forKey:@"Level"]; [defaults setInteger:100 forKey:@"Score"]; [defaults synchronize]; 

Я читаю, используя:

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; int intValue = [defaults integerForKey:@"Score"]; return intValue; 

Итак, может ли что-то заставить пользовательские настройки по умолчанию быть сброшенными / поврежденными?

В более общем плане, может ли это быть связано с сообщением о сбое приложения, о котором сообщалось, даже если авария не связана непосредственно с записью / чтением из пользовательских значений по умолчанию?

Из того, что я понимаю, оно удаляется только при удалении приложения. Поскольку ваша проблема с перезагрузкой NSUserDefaults предшествовала сбой приложения, я бы начал выяснять проблему сбоя.

Если вы установите приложение на свое устройство, NSUserDefault снова будет повторно инициализирован … когда вы тестируете свое приложение на устройстве, вы подключите свое устройство к Xcode, и если вы запустите программу, значения будут сброшены …

  • MKPolyline -> NSKeyedArchiver -> NSData SIGABRT
  • Можно ли регистрировать значения по умолчанию для NSUserDefaults из нескольких классов в моем приложении?
  • Обязательно ли вызывать метод синхронизации NSUserDefaults?
  • Сохранение данных в NSUserDefaults
  • Не удается получить доступ к NSUserDefaults, используя группы приложений друг к другу
  • Приложение сбой при хранении NSArray в NSUserDefaults
  • Данные Keychain потеряны после обновления приложения на iOS
  • IOS: сохранение массива с помощью NSUserDefault
  • NSDictionary с сопоставлением NSNumber и NSString является объектом, не относящимся к объекту
  • NSUserDefaults standardUserDefaults setInteger для длинного длинного int
  • Сохранение пользовательских объектов в NSUserDefaults
  • Interesting Posts

    Использование completeHandler (UIBackgroundFetchResultNewData) при обновлении фона в iOS

    UISearchController searchBar исчезает при первом щелчке

    Установите ограничения с помощью кода на элемент из раскадровки с быстрым iOS8

    Демо-счет в itunesconnect в sms-приложении

    UIButton AddTarget несколько раз при одном и том же целевом действии вызывает только один раз?

    Ошибка iOS 7, связанная с WKWebView

    Ошибка кодового знака в macOS Sierra Xcode 8.3.3 – ресурс fork, информация Finder или аналогичный детрит не разрешены

    AVPlayer, уведомление о состоянии воспроизведения / паузы?

    Центр ImageView поверх scrollView

    Как реализовать несколько одновременных пользовательских жестов в IOS?

    Загрузите навигационный ViewController снизу

    popoverControllerDidDismissPopover НЕ делает то, что я думаю, что он должен

    iOS, составляющая 2 видео с прозрачностью

    Синий баннер «% MyApp% использует ваше местоположение» для приложения, которое использует службы определения местоположения только тогда, когда активен

    ios 7 dequeueReusableCellWithIdentifier: forIndexPath метод – нужен ли метод registerClass

    Давайте будем гением компьютера.