Swiftpack.co - Package - danielsaidi/KeyboardKitSwiftUI

Version Platform Swift 5.1 License Twitter: @danielsaidi

About KeyboardKitSwiftUI

KeyboardKitSwiftUI extends KeyboardKit with SwiftUI functionality.

It's temporarily a separate framework, since Xcode can't handle iOS 13 features in a framework that targets iOS 11. When this is fixed, this library will be included in the main project.


Swift Package Manager

The easiest way to add KeyboardKitSwiftUI to your project in Xcode 11 is to use Swift Package Manager:



target 'HostApp' do
  pod 'KeyboardKitSwiftUI'

target 'KeyboardExt' do
  pod 'KeyboardKitSwiftUI'

Manual installation

To manually add KeyboardKitSwiftUI to your app, clone this repository, add KeyboardKitSwiftUI.xcodeproj to your project and KeyboardKitSwiftUI.framework as an embedded app binary and target dependency.


KeyboardKitSwiftUI offers new views and tools that helps you build keyboards in SwiftUI.

I will add readmes and demos of these later. Until then, I hope that the code speaks for itself.

Contact me

Feel free to reach out if you have questions or if you want to contribute in any way:


KeyboardKitSwiftUI is proudly supported by the following clients:

Anomaly Software


KeyboardKitSwiftUI is available under the MIT license. See LICENSE file for more info.


Stars: 2

Used By

Total: 0


- 2020-03-20 15:56:20

This version adds a missing dependency to KeyboardKit.

- 2020-03-20 15:55:18

This version adds the first (and so far limited) support for SwiftUI. Many new features are iOS 13-specific.

There are some new views that can be used in SwiftUI-based apps and keyboard extensions:

  • KeyboardGrid distributes actions evenly within a grid.
  • KeyboardGridRow is used for each row in the grid.
  • KeyboardHostingController can be used to wrap any View in a keyboard extension.
  • KeyboardImageButton view lets you show an .image action or Image in a Button.
  • NextKeyboardButton sets itself up with a globe icon and works as a standard "next keyboard" button.
  • PersistedKeyboardSetting is a new property wrapper for persisting settings in UserDefaults.

as well as some extensions:

  • Color.clearInteractable can be used instead of .clear to allow gestures to be detected.
  • Image.globe returns the icon that is used for "next keyboard".
  • KeyboardInputViewController setup(with:View) sets up a KeyboardHostingController.
  • View withClearInteractableBackground() can be used to make an entire view interactable.