NSUserDefaults в приложении не обновляет представление в приложении настроек iPhone - PullRequest
0 голосов
/ 26 марта 2010

Когда я изменяю и синхронизирую значения в моем приложении, они сохраняются, но изменения не отображаются в приложении настроек. Есть ли способ синхронизировать их, сохраняя возможность вносить изменения в приложение? Вот мой код:

//I'm registering the defaults from the Settings bundle I created using David Keegan's class inside my application delegate
+ (void)initialize{
    if([self class] == [VirtualVeloAppDelegate class]){
        [InAppSettings registerDefaults];
    }
}

//I'm accessing the values like so
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
[ud boolForKey:@"_someKey"]

//I'm setting the values like so
[[NSUserDefaults standardUserDefaults] setBool:switch.isOn forKey:@"_someKey"];

//After I'm done I sync
[ud synchronize];

Значения сохраняются и точно вызываются в моем приложении как на iPad, так и на iPhone. Однако они не обновляют приложение «Настройки».

Я думаю, что тот факт, что я не нашел четкого объяснения этого, вероятно, указывает на то, что параметры Settings.bundle можно изменять только в приложении "Настройки".

Ответы [ 2 ]

0 голосов
/ 26 марта 2010

Обычно настройки должны обновляться, если вы обновляете приложение. Проверьте, вносите ли вы изменения в приложение «Настройки», получаете ли вы измененное значение в своем приложении? Проверьте, правильно ли вы регистрируете настройки по умолчанию. Как вы сказали iPad, вы должны использовать бета-версию 3.2.x, я думаю ... Проверьте, нет ли бета-версии.

0 голосов
/ 26 марта 2010

Хотя я использовал код InAppSettings Keegan3d в своем приложении, и он не работал, я использовал новую загрузку этого проекта без каких-либо изменений, и это сработало. Так что, если все реализовано правильно, код из этого проекта работает. Я не уверен, где я ошибся.

...