Apple Keyboard Extensionのドキュメントとリンク先の設定チュートリアルを使用して、カスタム キーボードの設定バンドルを実装しています。
このメソッドは親アプリで機能しますが、キーボード拡張機能に対して可能な限り同じように実装すると、このビデオに示されているように、設定バンドルはデータを保存していないように見えます。何かが値をほぼ一定にリセットしているように見えます: 設定ビュー (マルチタスク ビュー、前の設定ページなど) を終了するたびに、値はゼロに設定されます (デフォルトではありません: それぞれ空、false、ゼロ)。これはデフォルトの設定バンドル テンプレートであり、編集は行われておらず、コードで参照されていません。
これを引き起こしているドキュメントに明示的に記載されていない (または私が見逃した) 拡張機能設定の特別な実装はありますか?
わかりやすくするために、(拡張機能を作成した後に)行った手順は次のとおりです。
- New File –> Settings Bundle でバンドルを作成しました。
- 名前を付けて、キーボード拡張機能をターゲットにしました。
- 構築して実行しました。
これらは、親アプリ (アプリを対象とする) に対して行ったのと同じ手順で、設定を保存できました。
これは、物理 iOS 11.0 (15A5326a) デバイスにあります。Xcode 9.0 (9M202q)、Swift 4 でビルドされたアプリ。