如何实现自定义键盘的设置包?

Vas*_*mil 6 ios swift ios8 ios-app-extension custom-keyboard

我正在编写自己的自定义键盘.而且我不知道如何将我的设置包(在手机中设置)与我的键盘扩展连接,所以如果有人从手机设置更改设置,之后打开一些文本字段来写一些我的键盘已经知道的内容而不是他所做的更改设置.我试图创建应用程序组以将我的应用程序与我的扩展程序连接,并在我的视图控制器中添加观察者,NSUserDefaultsDidChangeNotification例如:

var notificationCenter = NSNotificationCenter.defaultCenter()
        notificationCenter.addObserver(self, selector: "settingsDidChange:", name: NSUserDefaultsDidChangeNotification, object: nil)
Run Code Online (Sandbox Code Playgroud)

当有人在设置settingsDidChange:方法中进行更改时,我将调用我需要阅读的所有内容到我的应用程序组中,以便从我的扩展程序中读取它.但这种方法将只有当人打开我的应用程序调用,所以如果有人改变从手机设置中设定并不会打开的应用程序我的键盘不会改变.那么如何为键盘实现我的设置包呢?

Rik*_*les 0

在您class KeyboardViewController: UIInputViewController的键盘本身中,您应该添加您编写的通知代码。你现在写在哪里?

它是UIInputViewController在使用键盘时运行的子类,而不仅仅是在应用程序运行时运行。此外,您可能只想NSUserDefaults在UIInputViewController每次加载视图时加载内容,这样您就可以避免使用通知。本质上,每次加载键盘视图时您都会选择这些设置。根据您的定制程度,这可能是也可能不是最佳的。