KeyboardKit 让您只需几行代码,使用 Swift & SwiftUI 就能创建出令人惊叹的 自定义键盘扩展。
KeyboardKit 通过更多功能扩展了 Apple 有限的键盘 API。 KeyboardKit Pro 通过解锁本地化键盘、自动完成、表情符号键盘、AI 支持、主题等等,进一步扩展了这些功能。
KeyboardKit Pro 可以使用 Swift Package Manager 进行安装
https://github.com/KeyboardKit/KeyboardKitPro.git
使用 KeyboardKit Pro 需要许可证。 您可以在 KeyboardKit 网站或 Gumroad 商店上注册。
重要提示
与 KeyboardKit 不同,KeyboardKit Pro 是一个二进制目标,必须仅链接到应用目标。
设置 KeyboardKit 最简单的方法是首先为您的应用程序创建一个 KeyboardApp
值
extension KeyboardApp {
static var keyboardKitDemo: KeyboardApp {
.init(
name: "KeyboardKit",
licenseKey: "your-key-here", // Sets up KeyboardKit Pro!
appGroupId: "group.com.keyboardkit.demo", // Sets up App Group data sync
locales: .keyboardKitSupported, // Sets up the enabled locales
autocomplete: .init( // Sets up custom autocomplete
nextWordPredictionRequest: .claude(...) // Sets up AI-based prediction
),
deepLinks: .init(app: "kkdemo://", ...) // Defines how to open the app
)
}
}
接下来,让您的 KeyboardController
继承 KeyboardInputViewController
而不是 UIInputViewController
class KeyboardController: KeyboardInputViewController {}
这将解锁其他功能和特性,并将 services
和可观察的 state
注入到控制器。
接下来,覆盖 viewDidLoad()
并使用您的应用程序值调用 setupPro(for:)
class KeyboardViewController: KeyboardInputViewController {
override func viewDidLoad() {
super.viewDidLoad()
setup(for: .keyboardKitDemo) { result in
// If result is successful, KeyboardKit Pro is now active
// You can now customize your keyboard and tweak features
}
}
}
要替换或自定义标准的 KeyboardView
视图,只需覆盖 viewWillSetupKeyboardView()
并使用您想要使用的视图调用 setupKeyboardView(with:)
class KeyboardViewController: KeyboardInputViewController {
override func 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: { $0.view }
)
}
}
}
要使用相同的键盘配置来设置您的主应用程序,只需将内容视图包装在 KeyboardAppView
中
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
KeyboardAppView(for: .keyboardKitDemo) {
ContentView()
}
}
}
}
KeyboardKit 支持 71 个键盘特定的语言环境
🇺🇸 🇦🇱 🇦🇪 🇦🇲 🇧🇾 🇧🇬 🇦🇩 🏳️ 🏳️ 🇭🇷
🇨🇿 🇩🇰 🇳🇱 🇧🇪 🇦🇺 🇨🇦 🇬🇧 🇺🇸 🇪🇪 🇫🇴
🇵🇭 🇫🇮 🇫🇷 🇨🇦 🇧🇪 🇨🇭 🇬🇪 🇩🇪 🇦🇹 🇨🇭
🇬🇷 🇺🇸 🇮🇱 🇭🇺 🇮🇸 🏳️ 🇮🇩 🇮🇪 🇮🇹 🇰🇿
🇹🇯 🇹🇯 🇹🇯 🇱🇻 🇱🇹 🇲🇰 🇲🇾 🇲🇹 🇲🇳 🏳️
🇳🇴 🇳🇴 🇮🇷 🇵🇱 🇵🇹 🇧🇷 🇷🇴 🇷🇺 🇷🇸 🇷🇸
🇸🇰 🇸🇮 🇪🇸 🇦🇷 🇲🇽 🇸🇪 🇰🇪 🇹🇷 🇺🇦 🇺🇿
🏴
KeyboardKit 仅包含本地化字符串,而 KeyboardKit Pro 解锁了所有支持的语言环境的本地化键盘、布局、标注和行为。
KeyboardKit 提供了一个免费的开源键盘引擎。 KeyboardKit Pro 解锁了更强大的专业功能。
UITextDocumentProxy
读取完整文档。在线文档 具有详细的入门指南、每个功能的详细文章、代码示例等。您也可以从源代码构建它,以获得更好的格式。
主存储库 具有一个演示应用程序,展示了如何设置主键盘应用程序、显示键盘状态、提供应用程序内设置、链接到系统设置、应用自定义样式等。
该应用程序有两个键盘 - 一个使用 KeyboardKit 的 Keyboard
和一个使用 KeyboardKit Pro 的 KeyboardPro
。
重要提示
该演示程序未进行代码签名,因此无法使用 App Group 在应用程序及其键盘之间同步设置。 因此,KeyboardPro
键盘也在键盘中具有键盘设置。
如果您想在无需编写任何代码或从 Xcode 构建演示应用程序的情况下尝试 KeyboardKit,则 KeyboardKit 应用程序 允许您只需从 App Store 下载它即可试用许多功能。
如果您有任何问题或想以任何方式做出贡献,请随时与我们联系
使用 KeyboardKit Pro 需要许可证。 您可以在 KeyboardKit 网站或 Gumroad 商店上注册。