15
麻生 拓弥 Apple Watch に Core Motion で いろいろなデータを取得して表示してみる 2017 01 Shinagawa.swift #2

Apple Watch に Core Motion で色々なデータを取得して表示してみる

Embed Size (px)

Citation preview

麻生 拓弥

Apple Watch に Core Motion で いろいろなデータを取得して表示してみる

201701

Shinagawa.swift #2

自己紹介

麻生 拓弥

・個人でも iOS アプリ開発

・北九州出身,社会人 2 年目

・Apple, ACMilan, 東京メトロ

LT01

@milanista_2nd

MilanistaDev

・株式会社ゆめみ (今年1月から)

- Takuya Aso -

FLAT Weather ClockiPad App

初発表なので緊張しております・・・

LT02

Core Motion 使ってますか?

Core Motion とは

LT03

・端末のモーションデータを取得できる  Apple 公式 Framework

・得られるいろいろなデータを適切に用いる  (可視化する)ことでユーザにより良い  ユーザ体験を提供できる

・iOS と watchOS で利用可能

Core Motion で取得できるデータ

LT04

・CMAccelerometerData - 加速度 ・CMAltitudeData - 相対高度,気圧 ・CMGyroData - ジャイロ ・CMMagnetometerData - 磁気 ・CMMotionActivity - 動作状態 ・CMPedometerData - 歩数,距離 ・CMPedometerEvent - 一時停止・再開(iOS10+)

などなど

今回は・・・

LT05

今日歩いた歩数と iOS 10 から追加された イベントタイプを取得してせっかくなので Apple Watch に表示させてみます!!

停止 再開

今回のサンプルコード

LT06

iOS: Core Motion全般

watchOS: 歩数とイベントタイプ      アクティビティ関係

Blogに記事書きます

Qiita に記事書きます

GitHub: https://github.com/MilanistaDev/CoreMotioner

Swift 3 iOS 10+ watchOS 3+

Core Motion の導入

LT07

1. CoreMotion.framework を追加

2. Info.plist に使用目的を記述(iOS 10 から必須に)

3. 使用するファイルで import CoreMotion を書く

実装 -今日歩いた歩数とイベントタイプ取得-

LT08

1. インスタンス生成

2. 歩数取得可能なのかを確認

その1

LT09

実装 -今日歩いた歩数とイベントタイプ取得- その2

3-A. 今日歩いた歩数を取得

LT10

実装 -今日歩いた歩数とイベントタイプ取得- その3

3-B. EventTypeを取得

LT11

実装 -今日歩いた歩数とイベントタイプ取得- その4

4. 終了処理も書く

Apple Watch は画面が消える・・・ didDeactivate が呼ばれてしまうので

開始処理は willActive に書くのが良いかも。

実行結果 (左:静止時,右:動作開始)

LT12

歩数は非同期で取得なので一歩ずつ表示は難しそう (4~5歩でラベルが更新される感じ)

だるまさんが転んだゲームとかすぐ作れそう!

まとめ

LT13

・Core Motion で取得できるデータは多い

・iOS デバイスだけでなく Watch でも取得できる

・Apple Watch をもっと使おう

ご清聴ありがとうございました!!

LT14

Apple Watch 2 台手元にあるので 興味がある方は懇親会のときにどうぞ