iOS 8键盘读/写设置,无需请求开放访问

时间:2014-10-13 07:25:50

标签: objective-c keyboard ios8

我正在编写iOS 8键盘应用程序。这将是简单的英文键盘应用程序。我想用户能够在键盘内设置键盘高度。但是,我不想将用户设置与包含应用程序相关联。因为我绝对希望用户确保其安全,所以我不打算要求开放访问。

我看了https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html#//apple_ref/doc/uid/TP40014214-CH21-SW1 并看到了Extension Container

此图像看起来如果扩展程序不需要与容器应用程序通信,看起来您可以保存并读取设置。

[[NSUserDefaults standardUserDefaults] setFloat:200 forKey:@"portraitHeight"];
[[NSUserDefaults standardUserDefaults] synchronize];

这在容器应用程序的执行中起作用,但如果我从跳板搜索加载键盘,它会崩溃并且不会显示键盘。

This ask about read data from containing app但我的问题是我是否可以在扩展程序中保存/阅读。

1 个答案:

答案 0 :(得分:1)

等等,我可能会找到答案。 我可以在键盘内读取/写入标准默认值,而不是容器应用程序。 我只需要停止从Xcode执行应用程序并退出,然后从其他应用程序开始使用键盘。 因此,当附加调试过程时,您无法从跳板或其他应用程序打开。

我不确定这是否与此有关,但有时,从跳板搜索,键盘不会出现并显示以下错误

  

OS_xpc_dictionary无法获取插件XXXXXXX(键盘名称)的可执行路径

这可能与[NSUserDefaults standardDefaults]读/写问题没有直接关系。