この投稿はWatchKit Advent Calendar 2014の3日目の記事です。

Apple Watchで文字入力できるの?

Apple Watchを紹介しますの動画の2:19あたりにこんな映像があります。

textinputcontroller

このUIで以下の方法で文字入力出来そうです.
* リストから文字列を選ぶ
* Smart Replies (なんだこれ)
* 音声入力

リファレンス

今回もリファレンスを確認してWKInterfaceControllerに怪しいAPIがありました。

WKInterfaceController

WKInterfaceController Class Reference

以下の2つのAPIが関係ありそうです。

メソッド名がいかにも..

実装

早速実装してみました。
StoryboardでWKInterfaceControllerの画面にボタンを2つ配置し、
ボタン押下時の処理を以下のようにしました。
これで、片方のボタン押下時には文字入力のUIが表示されて、
もう片方のボタン押下時には文字入力のUIが閉じるはず!

@IBAction func onOpenButtonPushed() {
    presentTextInputControllerWithSuggestions(["aaa", "bbb", "ccc"], completion: {(str) -> Void in println(str)} )
}

@IBAction func onCloseButtonPushed() {
    dismissTextInputController()
}

実行結果

ボタンを押しても何も起きませんでした。

たすけてStack Overflow

The presentTextInputControllerWithSuggestions:completion: method of WKInterfaceController is not currently supported in iOS Simulator.
swift – Text Input Controller WatchKit – Stack Overflow

…はい。

宣伝

Swiftでカスタムキーボードアプリ作りました。買ってね!
特殊文字キーボード

Pocket