Objective-C
Xcode
iOS
Swift
WatchKit

 WATCH の開発ツール WatchKit が公開されました

More than 3 years have passed since last update.


Apple Watch とは


注意点


  •  WATCH は、単体では使えません


    • 母艦として iPhone などが必要です

    • Android Wear と一緒



  •  WATCH アプリは、単体アプリとしては開発できません


    • 既存 iOS アプリにバンドルされる Extension としての扱いになります

    • Android Wear アプリと一緒




Watch アプリの構成要素

Watch App / Glance / Notification の3つの構成要素があります。

スクリーンショット 2014-11-19 午前7.51.56.png


Watch App


  • Apple Watch のホーム画面に追加させるアプリ本体

  • 専用の UI を持たせることができます


Glance


  • Read-Only の1画面の情報表示用 UI

  • optional


Custom Notification


  • インタラクティブな Notifiation

  • optional


Architecture & Lifecycle

スクリーンショット 2014-11-19 午前7.56.35.png

スクリーンショット 2014-11-19 午前8.01.59.png


実際につくってみよう


必要なもの


ターゲットの追加

iOS 8 の Today Widget と同じように、既存アプリの別 target として追加します。

スクリーンショット 2014-11-19 午前7.09.50.png

スクリーンショット 2014-11-19 午前7.18.27.png

Watch App のシミュレーターは、iOS Simulator > Hardware > External Displays > Apple Watch を選択することで表示できます。

スクリーンショット 2014-11-19 午後0.36.25.png


本体アプリとのデータ・コードの共有

別ターゲットとして追加された Watch App と、本体アプリの間では、データやコードが共有されません。

データを共有するには Today Widget と同じように、App Group を使って共有された NSUserDefaults を介する必要があってなかなか厄介です。

クラスを共有したい場合は、共通して使いたいクラスを切り出して Framework にする必要があります。


See Also

WatchKit Programming Guide

https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/WatchKitProgrammingGuide/index.html#//apple_ref/doc/uid/TP40014969-CH8-SW1


おわりに

Apple Watch も Android Wear も、「スマートフォンのユーザー体験を延長(Extend)する」という設計思想が見てとれます。

ウェアラブル端末では、情報を小さな塊にして適切なタイミングで通知し、そこから先の操作はアプリに誘導するという使い方になると思います。

市場として捉えられるようになるのはまだまだ先だと思いますが、こういう未来は常にキャッチアップしていきたいですね。