Очистка пользовательских настроек по умолчанию программно в приложении OS X - PullRequest
4 голосов
/ 17 ноября 2011

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

1) Есть ли способ программно очистить пользовательские настройки по умолчанию?

2) Поможет ли мне песочница в этом приложении для отправки в App Store?

Ответы [ 2 ]

4 голосов
/ 17 ноября 2011

Вы можете удалить его так:

NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];

Чтобы запустить его при первом запуске, я бы просто установил флаг BOOL.Один из способов сделать это заключается в следующем:

- (void)applicationDidFihishLaunching
{
    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
    if ([[prefs objectForKey:@"secondOrMoreTimeLoading"]boolValue]==0) //so if there is nothing there...
    {
        NSLog(@"This is the first time the user has loaded the application. Welcome!");
        //run the code above here, then change our flag to 1 so that it never runs this again (unless the prefs are reset elsewhere)
        [prefs setObject:[NSNumber numberWithBool:1] forKey:@"secondOrMoreTimeLoading"];
    }
    else{NSLog(@"Welcome back, user.");}     
}
2 голосов
/ 17 ноября 2011

Что не так с + [NSUserDefaults resetStandardUserDefaults] ? Если вы правильно зарегистрировали свои значения по умолчанию, в этой отдельной строке будут восстановлены указанные вами значения по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...