
KeyboardKitは、数行のコードで完全にカスタマイズ可能なキーボード拡張機能を作成できるSwiftUI SDKです。
KeyboardKitは、Appleの限られたキーボードAPIをより多くの機能を備えて拡張し、追加の機能を提供して、ほとんど努力を払わずに優れたカスタムキーボードを構築できます。

KeyboardKitはオープンソースで完全に無料です。 KeyboardKit Proで拡張して、ローカライズされたキーボード、AutoComplete&AutoCorrect、AIサポート、絵文字キーボード、テーマ、ディクテーションなどのプロのロックを解除できます。
KeyboardKitは、Swift Package Managerでインストールできます。
https://github.com/KeyboardKit/KeyboardKit.git
キーボード拡張機能でkeyboardkitを使用するには、 KeyboardKitをインポートし、 UIInputViewControllerの代わりにKeyboardController KeyboardInputViewController継承してください。
import KeyboardKit
class KeyboardController : KeyboardInputViewController { }これにより、 viewWillSetupKeyboardView 、Observable State、Servicesなどのライフサイクル機能にアクセスできます。
KeyboardKitを設定する最も簡単な方法は、アプリの情報を定義するKeyboardApp値を作成することです。
extension KeyboardApp {
static var keyboardKitDemo : Self {
. init (
name : " KeyboardKit " ,
licenseKey : " keyboardkitpro-license-key " ,
bundleId : " com.keyboardkit.demo " ,
appGroupId : " group.com.keyboardkit.demo " ,
deepLinks : . init ( app : " kkdemo:// " )
)
}
}キーボードをセットアップするには、 viewDidLoadをオーバーライドし、 KeyboardApp値を使用してsetup(for:)を呼び出します。
class KeyboardViewController : KeyboardInputViewController {
override func viewDidLoad ( ) {
super . viewDidLoad ( )
setup ( for : . keyboardKitDemo )
}
}標準のKeyboardViewキーボードを交換またはカスタマイズするには、 viewWillSetupKeyboardViewをオーバーライドし、使用するビューでsetupKeyboardView呼び出します。
class KeyboardViewController : KeyboardInputViewController {
override func viewWillSetupKeyboardView ( ) {
super . viewWillSetupKeyboardView ( )
setupKeyboardView { [ weak self ] controller in // <-- Use weak or unknowned self!
KeyboardView (
state : controller . state ,
services : controller . services ,
buttonContent : { $0 . view } ,
buttonView : { $0 . view } ,
collapsedView : { $0 . view } ,
emojiKeyboard : { $0 . view } ,
toolbar : { _ in MyCustomToolbar ( ) }
)
}
}
}同じ構成でメインアプリをセットアップするには、 KeyboardAppViewにルートコンテンツビューをラップするだけです。
import SwiftUI
import KeyboardKit
@ main
struct MyApp : App {
var body : some Scene {
WindowGroup {
KeyboardAppView ( for : . keyboardKitDemo ) {
ContentView ( )
}
}
}
} KeyboardAppを使用してアプリとキーボードをセットアップすると、 appGroupIdが定義されている場合は2つの間に設定が同期されます。KeyboardKitProライセンスを登録licenseKeyが定義されている場合は、口述、ディープリンクなどを設定します。
詳細については、Getting Guideを参照してください。
KeyboardKitは71のキーボード固有のロケールをサポートしています。
?? ?? ?? ?? ?? ?? ?? ?♥?️??
?? ?? ?? ?? ?? ?? ?? ?? ?? ??
?? ?? ?? ?? ?? ?? ?? ?? ?? ??
?? ?? ?? ?? ?? ?️?? ?? ?? ??
?? ?? ?? ?? ?? ?? ?? ?? ?? ?§
?? ?? ?? ?? ?? ?? ?? ?? ?? ??
?? ?? ?? ?? ?? ?? ?? ?? ?? ??
???????
KeyboardKitにはローカライズされた文字列のみが含まれていますが、KeyboardKit Proは、すべてのサポートされているロケールのローカライズされたキーボード、レイアウト、コールアウト、動作のロックを解除します。
KeyboardKitには、素晴らしいカスタムキーボードを構築するのに役立つ機能が詰め込まれています。
KeyboardKit Proは、Pro機能を使用してKeyBoardKitを拡張します。
UITextDocumentProxyが完全なドキュメントを読むようにします。オンラインドキュメントには、各機能の詳細な記事、徹底的に開始されたガイド、コードサンプルなどがあります。ソースコードから構築して、より良いフォーマットを取得することもできます。
Demoフォルダーには、メインキーボードアプリのセットアップ、キーボードステータスの表示、アプリ内設定の提供、システム設定へのリンク、カスタムスタイルの適用などを示すデモアプリがあります。
アプリには2つのキーボードがあります。キーボードキットを使用するKeyboardと、keyboardkit proを使用するKeyboardProです。触覚フィードバックなど、一部の機能のフルアクセスを機能させる必要があることに注意してください。
重要
デモは署名されていないため、アプリグループを使用してアプリとそのキーボード間の設定を同期することはできません。そのため、 KeyboardProキーボードには、キーボードに設定画面もあります。
keyboardkitをxcodeからコードを記述せずに試したり、デモアプリを作成したりする必要がある場合は、KeyboardKitアプリを使用すると、App Storeからダウンロードするだけで多くの機能を試してみることができます。
KeyboardKitはオープンソースで完全に無料ですが、GitHubスポンサーになり、KeyboardKit Proにアップグレードするか、フリーランスの仕事、有料のサポートなどに連絡することで、プロジェクトをサポートできます。
質問がある場合、または何らかの方法で貢献したい場合は、お気軽にご連絡ください。
KeyboardKitはMITライセンスの下で利用できます。詳細については、ライセンスファイルを参照してください。