奥さんからの要望でスマホと連携する体重計を検討していたが、いつの間にかWithingsのWS-50が11000円台まで安くなっていたので、ついに購入。
以前検討したときには計測精度の問題でタニタやOmronも検討したのだが、月々の料金が必要だったり、接続がBluetoothだけだったりして、結局Withingsがよさそう、しかし高い。ということで見送りとしていたのだが、ここまで安くなれば買っても良いかと。
このあたりでおすすめされている。
- 【2016年最新】Wi-Fi対応スマート体組成計(体重計)ってどれが一番おすすめ?徹底的に比較してみた | 2週間でダイエット!
- 比較2016′ スマホ対応の体重計・体重体組織計11機の性能とおすすめ:iPhone Androidスマホ対応:オムロン・タニタ・パナソニック・Withings・Fitbit:Wi-Fi/Bluetooth無線ネットワーク対応(2): 家電批評モノマニア
- Wi-Fi体重計に乗るだけダイエット【体重は自動で記録するがいい】 – 仕事5倍速実践会
新型の Body Cardio も発売されているのだがまだ2万円台と高いのと、自分の用途だとWS-50で問題無さそうだったのでWS-50を選んだ。ちなみに Withingsとしては WS-50はBody、新型は Body Cardio と呼んでいるようだ。略しすぎ。
WS-50用にはもちろんiOSアプリとAndroidアプリが提供されているのだが、当然SDKもあるだろうと思って調べたところ、あった。
iOS用に Objective-C のコードも用意されているようだ。
とりいそぎアカウントを作成して、API Keyなどを入手したが、上記 Objective-Cのコードがビルドできない。
Xcode 8 だと Swift3が必要とされるが、Withings-SDK-iOS が最新の OAuthSwiftに対応できていないようだ。また、cocoapodsで入手するとOAuthSwiftが最新の1.1.xではなく0.5.2になってしまう。
→ 下記の作業を行ない、WithingsのiOSアプリから、Developer とは別なアカウントを作成してログインしたところ Withingsサーバからデータを取得できた。
- Withings-SDK-iOS のPodfileを編集し、pod install で OAuthSwift の1.1.0 をダウンロード
- Xcode Version 8.1 (8B62) でビルドしたところ Swift コードをConvertする必要があるとの表示が出たので 3.0 にConvert
- AppDelegate.m の consumerKeyとconsumerSecret をWithings Developers から取得したものに変更
- WithingsAPI.m と WithingsMeasureAPIClient.m でエラーが発生したので、OAuthSwift 最新版を参照して修正
Activity Measures / Sleep Measures / Body Measures が取得できた。
Withingsはワイヤレススケールの他にもいろいろフィットネス系デバイスを作っているが、このアプリを改造することでデータがとれそうだ。


2016/11/29 追記
jdrevet/Withings-SDK-iOS: Withings-SDK-iOS provides an Objective-C interface for integrating iOS apps with the Withings API にコメントを書いておいたら、0.2.1として対応された。
もうこの対応は不要になったと思われる。

