7

Can any one help me with a sample code for adding Speech to Text conversion feature in Apple Watchkit apps.

Teja Kumar Bethina
  • 3,486
  • 26
  • 34
  • 2
    https://developer.apple.com/library/ios/samplecode/WKInterfaceCatalog/Introduction/Intro.html , see text input – sheraza Mar 11 '15 at 11:47

3 Answers3

13

Yes, it's possible. Here is the documentation: https://developer.apple.com/library/prerelease/ios/documentation/WatchKit/Reference/WKInterfaceController_class/index.html#//apple_ref/occ/instm/WKInterfaceController/presentTextInputControllerWithSuggestions:allowedInputMode:completion:

The code look like this. You provide a suggestions array with words (or emoji too) and you set the allowed input mode that can accept animated emoji, emoji or plan text only.

[self presentTextInputControllerWithSuggestions:@[@"hello", @"world"] allowedInputMode:WKTextInputModePlain completion:^(NSArray *results) {
    NSLog(@"results: %@", results);
}];

The result is this:

enter image description here

BalestraPatrick
  • 9,944
  • 4
  • 30
  • 43
  • Do you know of anyway to simulate the dictation? I know the simulator does not support it, and apple watch isn't out there yet, anyway to test this? – prawn Mar 11 '15 at 18:04
  • 1
    You can't test it in Simulator and I doubt it will be available anytime soon. It'll probably require a real device to test it. – BalestraPatrick Mar 11 '15 at 18:38
7

You can ask for user input and give him suggestion (see Swift example bellow).

self.presentTextInputControllerWithSuggestions(["suggestion 1", "suggestion 2"] allowedInputMode: .Plain, completion: { (answers) -> Void in
    if reply && reply.count > 0 {
        if let answer = answers[0] as? String {
            println("\answer")
        }
    }
})

If suggestion is nil it goes directly to dictation. It is not working on the simulator but it is on real watch.

jfgrang
  • 1,148
  • 13
  • 13
0
self.presentTextInputControllerWithSuggestions(["Y","N"], allowedInputMode: WKTextInputMode.Plain,
    completion:{(results) -> Void in
        let aResult = results?[0] as? String
        print(aResult)
})
kavehmb
  • 9,822
  • 1
  • 19
  • 22