Apple Watchは持ってると結構便利なんですが、「Suica」と「ミュージックのリモコン」以外にも活躍させたいなあ、と思い、いっちょ書いてみました。


Xcodeでニュープロジェクト
これまではWatchアプリだけでなくiOSアプリも作る必要があったのですが、watchOS 6以降で単体アプリが可能になりました。
「個人でちょっと作ってみる」のにかなり適してきているので、みなさんもマネしてみてください。
(ちょっと欲を出した途端、獣道に入りますが、開拓するのも楽しいので玄人も是非)

さらに、UIをシンプルに構築できる「SwiftUI」によって、Storyboardでわちゃわちゃする必要がなくなります。

「さて、おなじみのHelloWorldから作ろうか」と思ったら、テンプレートの時点ですでに出来ていました。

とりあえず「入力」「出力」機能を持たせよう
この「HelloWorld」画面が作られている ContentView.swift を編集して
「テキストを入力」「本体に保存(出力)」を追加しました。
これだけです。他のファイルはいじらなくてOKです。

「var body: some View {} の中に、テキストとかボタンとか上から配置されていくんだろうなー」
と、なんとなく推測できると思います。
試しに実行しよう
Apple WatchとペアリングしているiPhoneをXcodeと接続して、
アクティブスキーム(実行する対象デバイス)に指定してから、実行します。
Apple Watchは、腕につけながらがおすすめです(充電しながらでも一応できますが、パスワードを解除するのが面倒なので)


テキストフィールドをタッチすると入力モードになりますが、Apple Watchでは以下の手段があります。
- 音声入力
- 絵文字
- ペアリングしているiPhoneから文字入力
音声入力の場合、Siriに話すようにApple Watchに向けて声を出すことにより、このように解釈されます。


Saveボタンを押して、端末の保存エリアに記録されます。再起動したときも、このテキストを覚えてくれるわけです。
(タスク終了してすぐアプリ再起動程度では、以前の状態をしぶとく覚えていたりします。電源再起動だと確実?)

ちなみに使用言語が「英語」の場合、指でなぞって文字を入力するモードが使用できます。ローマ字入力などで日本語にも対応してほしいですね!


まとめ
新しい端末のアプリを作ってみたいと思ったとき、
「HelloWorld」の次は「何か入力してどこかへ出力する」ことを目指してみるといいんじゃないでしょうか。
そして、入力方法をもっと便利にしてみたり、(Apple WatchはWi-Fiも使えるので)出力先をネットワークにPOSTするように変えたり、iCloudへ送るようにするなど、自分の興味ある分野へアレンジしてみると更に良いと思います。
ちょっと欲出して獣道を拓いた結果、開発用アカウントでTwitterに投稿することに成功しました。
(一般アカウントでも使えるようにするには、さらに調査が必要っぽいですが…)

音声入力は、簡潔じゃないとなかなか正しく解釈してくれないですが、逆手にとってクイズみたいな「遊び」とするのも面白いかも。




本当はタイマーを使うアプリを作ってみたかったのですが、第一歩としてはこのへんでヨシ!とします。
皆さんもぜひ作ってみましょう!
スペック
Apple Watch Series 2 (Watch OS 6.2.6)
iPhone 8(iOS 13.5)
Xcode 11.5