その後のその後

iOSエンジニア 堤 修一のブログ github.com/shu223

「Apple Watch 間通信」 #gunosywatch

Gunosy さん主催、Freakout さん会場提供のイベント『Apple Watch meetup @ HillsGarage』に登壇させていただきました。



Apple Watch の機能として、友達と心拍を共有したり、手書きスケッチを共有したりといった「Digital Touch」というものがあるのですが、



WatchKit にこういうことをやる API はないので、サードパーティ製アプリで同様のことをやるにはどうするか、という内容です。


メッセージのやりとり、心拍数のやりとりは実際に試してなかなかいい感じになりました。


(受信側では送信者の心拍数の値と、それに応じてハートの画像が拡大縮小アニメーションします)

ボツネタ集

WatchKit、ご存知の通り現状ではできることがかなり限られているので、既出だったり、発表者同士でネタがかぶったり、ということを懸念して発表内容を考えるのにかなり悩みました。。以下その過程で出てきて消えたボツネタ集です。

  • 心拍センサーについていろいろ調べてみる

現在のApple Watchにおける計測手法(センサのしくみ)とか、心拍数の値を使ったこういう応用事例(移動距離と組み合わせて坂道の角度を推定する研究があります、みたいな)とか


ボツ理由:専門ではないので、結局ググってわかる範囲のことしかわからない。あとニッチすぎる。

  • Apple Watch の Service / Characteristic をリバースエンジニアリング

ボツ理由:リバースエンジニアリングはApple的に禁止されてて、100人のイベントでそういう話するのはよろしくないかなと。あとたぶん自分のリバースエンジニアリング力だと大して解明できなそう

  • Apple Watchを開発ツールとして使う

Xcodeのプラグイン ↔ WatchKit Extension で通信して、開発中の何かの情報を Apple Watch に表示すると便利かなと。コード書き続けてる時間とか。


ボツ理由:Apple Watch間通信を試したあと、Apple Watch と Mac 間の通信としてやろうかなと思ってたけど、そこまでやる時間がなかった。

追記

発表後、HealthKitを利用したアプリを開発されている Flask さん より重要情報をいただきました。


iPhone側がロックされていると、HealthKit からデータを取得できない」とのことです。


なんと、そうだとすると、上のスライドで「心拍数もバックグラウンドで取って通信すればOK」といってるところの利便性はグッと落ちてしまいます。確かに、プライバシーの関係からロック状態ではHealth関連データもロックするというのは納得のいく仕様ではあります。まだ自分で検証&裏とりしてない情報で恐縮ですが速報ということで追記させていただきました。