Swiftpack.co - Package - FlickType/FlickTypeKit

FlickType icon FlickType screenshot FlickType screenshot

FlickTypeKit 🚀

Build Status

“Apple Watch App of the Year” - AppAdvice
“Makes Typing a Breeze” - Forbes

Add a powerful keyboard to your watchOS apps and dramatically improve the text input experience for users. Leverage full typing and editing capabilities to greatly enhance existing parts of your app, or enable entirely new features like messaging and note-taking directly on Apple Watch.

SwiftUI

Use a FlickTypeTextEditor to display an editable text interface and gather text input from the user:

import FlickTypeKit

struct ContentView: View {
  @State private var text = ""
  var body: some View {
    ScrollView {
      VStack {
        // other views here...
        FlickTypeTextEditor(text: $text)
        // more views here...
      }
    }
  }
}

WatchKit

Modify your presentTextInputController() calls to include the flickType argument:

import FlickTypeKit

presentTextInputController(
  withSuggestions: nil,
  allowedInputMode: .allowEmoji,
  flickType: .ask) { items in
  if let text = items?.first as? String {
    print("User typed text: \(text)")
  }
}

.ask will offer a choice between FlickType and the standard input methods (recommended).
.always will always open FlickType, skipping the input method selection.
.off will present the standard input method selection without the FlickType option.

Note: When using WatchKit, the optional startingText argument can be used to support editing of existing text with FlickType. In SwiftUI, FlickTypeTextEditor does that automatically for you.

Integration

In your watch extension target:

  • Under General > Frameworks, Libraries, and Embedded Content, click the + button, Add Other... and add the FlickTypeKit.xcframework bundle.

In you watch app target:

  1. Under Build Phases > Copy Bundle Resources, add the FlickType.storyboard file.
  2. Add a "Storyboard Reference" to your main storyboard file and set its "Referenced ID" to FlickType.

watchOS 7 and later

Starting with watchOS 7 FlickTypeKit uses universal links to switch from your app to the FlickType Keyboard app, and then return the input text back to you. Thus the keyboard stays up-to-date without you having to update your app, and leverages the user's custom settings and dictionary. To support universal links in your app:

  1. Add an applinks associated domain entitlement to your watch extension target: Associated domains screenshot

  2. Create a file named apple-app-site-association (without an extension) with the following contents, and place it in your site’s .well-known directory:

{
  "applinks": {
      "details": [
           {
             "appIDs": [ "<Team ID>.your.watchkitextension.identifier" ],
             "components": [
               {
                  "/": "/flicktype/*",
                  "comment": "Matches any URL whose path starts with /flicktype/"
               }
             ]
           }
       ]
   }
}

The file’s URL should match the format https://your.app.domain/.well-known/apple-app-site-association and must be hosted with a valid certificate and with no redirects.

  1. Add the following inside your WKExtensionDelegate.applicationDidFinishLaunching():
FlickType.returnURL = URL(string: "https://your.app.domain/flicktype/")
  1. Add the following inside your WKExtensionDelegate.handle(_ userActivity: NSUserActivity):
if FlickType.handle(userActivity) { return }

Earlier watchOS versions

If you wish to support users on watchOS 6 and earlier, please email sdk@flicktype.com with the bundle ID of your watch extension target to get whitelisted for use on real devices. This is not required for users on watchOS 7 and later.

Help & support

⌚️

Github

link
Stars: 42

Dependencies

Used By

Total: 0

Releases

Swipe & watchOS 7 support - 2020-09-16 08:07:50

(Built with Xcode 12 GM, ready for App Store use)

The brand new FlickTypeKit update is finally here, and I couldn't be more excited to share with you all the great changes since the last release:

  • New look & feel
  • Swipe typing
  • Accurate manual typing
  • Numbers & symbols
  • Performance improvements
  • Fixed the issue where you couldn't deploy locally to a real device unless you fiddled with how the framework was embedded.

Additionally, FlickTypeKit now also features the following on watchOS 7 and later:

  • The keyboard always stays up-to-date, without you needing to update your app
  • Customizable settings, such as turning Auto-Correction off
  • Shared user dictionary across all apps
  • No in-app download
  • Flick down from the top of the screen to dismiss

The way all this magic is done on watchOS 7 is with the new Universal Links feature, where the SDK will seamlessly switch into and out of the main FlickType app! 🥳

Let me know any questions/issues!

  • Kosta

PS: You can try the new app switching in action on watchOS 7 by downloading my other app Watch Notes, which uses this SDK.

Swipe & watchOS 7 support - 2020-08-30 02:49:35

Hello developers! The brand new FlickTypeKit update is finally here, and I couldn't be more excited to share with you all the great changes since the last release:

  • New look & feel
  • Swipe typing
  • Accurate manual typing
  • Numbers & symbols
  • Performance improvements
  • Fixed the issue where you couldn't deploy locally to a real device unless you fiddled with how the framework was embedded.

Additionally, FlickTypeKit now also features the following on watchOS 7 and later:

  • The keyboard always stays up-to-date, without you needing to update your app
  • Customizable settings, such as turning Auto-Correction off
  • Shared user dictionary across all apps
  • No in-app download
  • Flick down from the top of the screen to dismiss

The way all this magic is done on watchOS 7 is with the new Universal Links feature, where the SDK will seamlessly switch into and out of the main FlickType app! 🥳

Let me know any questions/issues!

  • Kosta

PS: You can try the new app switching in action on watchOS 7 by downloading my other app Watch Notes, which uses this SDK.

Swipe & watchOS 7 support - 2020-08-26 01:20:51

Hello developers! The brand new FlickTypeKit update is finally here, and I couldn't be more excited to share with you all the great changes since the last release:

  • New look & feel
  • Swipe typing
  • Accurate manual typing
  • Numbers & symbols
  • Performance improvements
  • Fixed the issue where you couldn't deploy locally to a real device unless you fiddled with how the framework was embedded.

Additionally, FlickTypeKit now also features the following on watchOS 7 and later:

  • The keyboard always stays up-to-date, without you needing to update your app
  • Customizable settings, such as turning Auto-Correction off
  • Shared user dictionary across all apps
  • No in-app download
  • Flick down from the top of the screen to dismiss

The way all this magic is done on watchOS 7 is with the new Universal Links feature, where the SDK will seamlessly switch into and out of the main FlickType app! :partying_face:

To try the new watchOS 7 app switching, check out my FlickType Notes beta.

Let me know any questions/issues!

  • Kosta

Swipe & watchOS 7 support - 2020-08-24 04:44:24

Hello developers! The brand new FlickTypeKit update is finally here, and I couldn't be more excited to share with you all the great changes since the last release:

  • New look & feel
  • Swipe typing
  • Accurate manual typing
  • Numbers & symbols
  • Performance improvements
  • Fixed the issue where you couldn't deploy locally to a real device unless you fiddled with how the framework was embedded.

Additionally, FlickTypeKit now also features the following on watchOS 7 and later:

  • The keyboard always stays up-to-date, without you needing to update your app
  • Customizable settings, such as turning Auto-Correction off
  • Shared user dictionary across all apps
  • No in-app download
  • Flick down from the top of the screen to dismiss

The way all this magic is done on watchOS 7 is with the new Universal Links feature, where the SDK will seamlessly switch into and out of the main FlickType app! :partying_face:

To try the new watchOS 7 app switching with your own apps, make sure you're on the latest FlickType beta (v2020.7) I have also updated my own FlickType Notes beta (v1.5) for you to check out the app switching.

Please note that Xcode 12 is not yet supported but you can still deploy to watchOS 7 devices using Xcode 11 - you'll just have to launch them manually after deploying.

Let me know any questions/issues!

  • Kosta