SDKのアップデートによりエラーが発生していたため、記事中のソースコードを挿し替えました。(※2015/12/12追記)

WatchOS2で、心拍数を測定するサンプルです。
サンプルコードなどが無かったため四苦八苦しましたが、出来てしまえば思ったよりシンプルでした。

大まかには、

  1. HealthKitへのアクセス許可を取得
  2. WorkoutSessionを作成
  3. WorkoutSessionをスタート(測定スタート)

という流れです。

WorkoutSessionでは心拍数の他に、
消費カロリーや移動距離などの測定・HealthKitへの保存もできますが、
ここでは心拍数の測定のみに絞っています。

 

まず、CapabilitiesにHealthKitを追加します。

スクリーンショット 2015-06-25 9.13.34

同様にWatchKit Extensionターゲットにも追加

 

Interface.storyboardにはラベルとボタンを1つずつ配置しています。

InterfaceControllerは以下の通りです。

 

iOS側のAppDelegateに、HealthKitへのアクセス許可リクエストを受け取るメソッドを追記

 

AppleWatchのアプリを起動すると、iPhoneへHealthKitへのアクセス許可が求められます。
アクセスを許可した上でボタンを押すと心拍の測定が始まります。

 

WorkoutSessionを実行している間、アプリはフォアグラウンドで動き続けるようです。
でも実行してみるとフォアグラウンドを維持してくれません。バグっぽいです。多分。