2015-03-20 2 views
2

У меня есть приложение с файлом Settings.bundle. Я добавил значение по умолчанию для определенного поля, но всякий раз, когда я хочу прочитать это в приложении на iOS 8.2, я получаю «нуль» обратно. Однако, когда я делаю это на iOS 7.1 (в основном каждая версия ниже iOS 8.2), я получаю правильное значение по умолчанию.iOS 8.2 Default.bundle значение по умолчанию

Кто-нибудь знает, если что-то изменилось в iOS 8.2, что вызывает это и как исправить это? Я уже удалил приложение и снова построил его. Возможно маленькое примечание, которое я строю с помощью Xcode 5. Но это не имеет никакого значения, если я использую Xcode 5 или Xcode 6. Протестировал это.

Код: Как получить значение по умолчанию:

id settings = [NSUserDefaults standardUserDefaults]; 
[settings objectForKey:@"defaultValueUrl"]; 

Settings.bundle: http://i62.tinypic.com/10nrmhd.png

Спасибо!

ответ

2

Значения по умолчанию в наборе настроек не записываются в NSUserDefaults вашего приложения, пока пользователь не отправится на Настройки и не изменит их. Это всегда было так. Не уверен, почему он «работал» для вас раньше - может быть, вы никогда не удалили приложение с устройства, и он сохранил старые настройки?

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

[[NUSUserDefaults standardDefaults] registerDefaults: 
@{ @"defaultValueURL": @"http://example.com" }]; 

Теперь этот ключ по умолчанию всегда будет иметь правильное значение по умолчанию, с или без настройки сверток.

Read this post for more info.

+0

Спасибо! Странно, что он работал раньше, даже после чистой установки приложения. Но это решило проблему для меня. Большое спасибо! –

 Смежные вопросы

  • Нет связанных вопросов^_^