心拍数よみあげるApple Watchのアプリです。Apple Watch単独で動作します。
開発経緯
Apple Watchのワークアウトを使いながらランニング中に時計みるために目線落とすのめんどくさくなって自分用にAVSpeechSynthesizerにいろいろしゃべらせてたのが開発のきっかけです。
簡単に機能がきりだせる心拍数だけでリリースしてみました。
Apple Watch単体で動作します=Apple Watchがないとなにも動きません。
画面の説明
アプストにあんまり詳しく書いてないので画面の説明の補足です。
watch側画面
iOS側画面 (設定のみ)
活用シーン
・心拍数を維持しながらの有酸素運動に最適です。
・長袖で時計が見えない状態でも心拍数を聴きながら運動できます。
・使途不明のレシートを詰問する際に。
技術情報
心拍数センサーの値をそのまま通知させています。AppleWatchの心拍数センサーの精度確認にもご活用いただけます。
開発環境:Xcode
開発言語: swift4.0
使用ライブラリ:広告用のライブラリのみ
雑記
ワークアウトセッションはバックグラウンドで実行できます云々とこことかここにとかいていますが、WorkoutSessionをstartさせてからHealhkitから最初の心拍数が取得できる前にAppleWatch側で設定しているスリープの時間(15秒|45秒)を超えてしまうと、アプリ自体もバックグラウンドを維持せずスリープしちゃいます。実機でしか再現しないのでこれまた厄介です。
WKBackgroundModesだけではダメみたいで、他のいろいろな機能を試行していて偶然発見したのですが、UIBackgroundModesも定義されているとこの現象が回避できるようです。
なのでこのアプリとってつけたように位置情報取得する(最大心拍数を記録した場所を表示。機能自体が存在しないとアプストの審査通らないので、仕方なく)機能がついてます。自分のAppleWatchだけかもしれませんが…watchOSの不具合ですかねぇ。
WKのExtentionのほうのinfo.plistに以下のkeyを追加しました。
<key>UIBackgroundModes</key>
<array>
<string>location</string>
</array>
<key>WKBackgroundModes</key>
<array>
<string>workout-processing</string>
</array>