ios - 保存 iOS 8 自定义键盘的首选项

标签 ios nsuserdefaults ios8-extension ios8.2

我找不到任何教程或指南来告诉我如何使用我的自定义 iOS 8 键盘保存首选项。

我有不同的皮肤,用户可以循环到所有皮肤。但是,如果用户关闭键盘然后重新加载它,它将加载初始皮肤。

我知道其他键盘已经找到了加载皮肤并记住选择了哪一个的方法。

我的键盘也有 2 种不同的布局

QWERTY 键盘和德沃夏克键盘

我还想保存该首选项,以便用户可以在我的应用中更改他们的选择。

键盘是在 Swift/Obj-C 中完成的(不确定这是否重要)

最佳答案

<强>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 Resources: head for “Sharing Data with Your Containing App“

关于ios - 保存 iOS 8 自定义键盘的首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29473812/

相关文章:

ios - 如何设置按钮标题的字体 Objective-C

ios - Pods-AFNetworking 突然显示错误

objective-c - 从 web 服务器为视网膜显示 iOS 下载图像

ios8 - 确定用户是否将自定义键盘添加到键盘列表。 iOS 8,扩展

iphone - iPhone 上的自定义光栅/矢量 map

ios - 数组索引的 NSUserDefaults 对象应该是什么格式

ios - NSUserDefaults - 保存和检索 "High Scores"

swift - NSUserDefaults 与 Facebook 登录

ios8 - 如何从构建中排除 IOS 8 应用程序扩展?

ios - 使用钥匙串(keychain)在 iOS 扩展及其包含的应用程序之间共享?