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

Suica
ミュージックのリモコン

Xcodeでニュープロジェクト

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

Watch App単体のアプリが作れる

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

SwiftUI

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

とりあえず「入力」「出力」機能を持たせよう

この「HelloWorld」画面が作られている ContentView.swift を編集して
「テキストを入力」「本体に保存(出力)」を追加しました。

これだけです。他のファイルはいじらなくてOKです。

「var body: some View {} の中に、テキストとかボタンとか上から配置されていくんだろうなー」
と、なんとなく推測できると思います。

試しに実行しよう

Apple WatchとペアリングしているiPhoneをXcodeと接続して、
アクティブスキーム(実行する対象デバイス)に指定してから、実行します。
Apple Watchは、腕につけながらがおすすめです(充電しながらでも一応できますが、パスワードを解除するのが面倒なので)

起動まで少し時間がかかります
初期画面

テキストフィールドをタッチすると入力モードになりますが、Apple Watchでは以下の手段があります。

  1. 音声入力
  2. 絵文字
  3. ペアリングしている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