Сохранение настроек пользовательской клавиатуры iOS 8

Я не могу найти никакого учебника или руководства, чтобы показать мне, как сохранить настройки с моей пользовательской клавиатурой iOS 8.

У меня есть разные скины, и пользователь может переключиться на все скины. Однако, если пользователь закроет клавиатуру, а затем снова загрузит ее, загрузится первоначальный скин.

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

У меня также есть 2 разные раскладки для моей клавиатуры

QWERTY и ДВОРАК

Я также хотел бы сохранить это предпочтение, чтобы пользователь мог изменить свой выбор в моем приложении.

Клавиатура сделана в Swift/Obj-C (не уверен, что это имеет значение)


person software is fun    schedule 06.04.2015    source источник


Ответы (2)


<сильный>1. Создайте группу приложений для основного приложения и пользовательской клавиатуры

Выберите цель вашего хост-приложения, перейдите в раздел «Возможности», прокрутите до «Группы приложений» и добавьте одно, нажав знак «+». Введите название вашей группы.

Сделайте то же самое с целью вашей клавиатуры, но теперь просто добавьте группу, отметив недавно добавленную группу приложений.

<сильный>2. Теперь вы можете использовать NSUserDefaults для хранения и обмена данными с вашим хост-приложением

Хранить данные:

_userDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.app-group-name"];
[_userDefaults setObject:@"theme-dark" forKey:@"KeyboardTheme"]; // save data

Восстановить данные:

_userDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.app-group-name"];
_theme = [_userDefaults objectForKey:@"KeyboardTheme"];
if ([theme isEqualToString:@"theme-dark"])
{
    ...
}

– Используйте константы и NS_ENUM вместо сравнения строк.

- Необходимо активировать полный доступ.

Ресурсы Apple: раздел «Обмен данными с Приложение”

person Duc    schedule 10.04.2015

Я знаю, что мне нужно использовать NSUserDefaults, но не знаю, как это реализовать.

person software is fun    schedule 07.04.2015