SlideShare a Scribd company logo
1 of 15
Download to read offline
麻生 拓弥
Apple Watch に Core Motion で
いろいろなデータを取得して表示してみる
2017
01
Shinagawa.swift #2
自己紹介
麻生 拓弥
・個人でも iOS アプリ開発
・北九州出身,社会人 2 年目
・Apple, ACMilan, 東京メトロ
LT
01
@milanista_2nd
MilanistaDev
・株式会社ゆめみ (今年1月から)
- Takuya Aso -
FLAT Weather Clock
iPad App
初発表なので緊張しております・・・
LT
02
Core Motion 使ってますか?
Core Motion とは
LT
03
・端末のモーションデータを取得できる
 Apple 公式 Framework
・得られるいろいろなデータを適切に用いる
 (可視化する)ことでユーザにより良い
 ユーザ体験を提供できる
・iOS と watchOS で利用可能
Core Motion で取得できるデータ
LT
04
・CMAccelerometerData - 加速度
・CMAltitudeData - 相対高度,気圧
・CMGyroData - ジャイロ
・CMMagnetometerData - 磁気
・CMMotionActivity - 動作状態
・CMPedometerData - 歩数,距離
・CMPedometerEvent - 一時停止・再開(iOS10+)
などなど
今回は・・・
LT
05
今日歩いた歩数と iOS 10 から追加された
イベントタイプを取得してせっかくなので
Apple Watch に表示させてみます!!
停止 再開
今回のサンプルコード
LT
06
iOS: Core Motion全般
watchOS: 歩数とイベントタイプ
     アクティビティ関係
Blogに記事書きます
Qiita に記事書きます
GitHub:
https://github.com/MilanistaDev/CoreMotioner
Swift 3 iOS 10+ watchOS 3+
Core Motion の導入
LT
07
1. CoreMotion.framework を追加
2. Info.plist に使用目的を記述(iOS 10 から必須に)
3. 使用するファイルで import CoreMotion を書く
実装 -今日歩いた歩数とイベントタイプ取得-
LT
08
1. インスタンス生成
2. 歩数取得可能なのかを確認
その1
LT
09
実装 -今日歩いた歩数とイベントタイプ取得- その2
3-A. 今日歩いた歩数を取得
LT
10
実装 -今日歩いた歩数とイベントタイプ取得- その3
3-B. EventTypeを取得
LT
11
実装 -今日歩いた歩数とイベントタイプ取得- その4
4. 終了処理も書く
Apple Watch は画面が消える・・・
didDeactivate が呼ばれてしまうので
開始処理は willActive に書くのが良いかも。
実行結果 (左:静止時,右:動作開始)
LT
12
歩数は非同期で取得なので一歩ずつ表示は難しそう
(4~5歩でラベルが更新される感じ)
だるまさんが転んだゲームとかすぐ作れそう!
まとめ
LT
13
・Core Motion で取得できるデータは多い
・iOS デバイスだけでなく Watch でも取得できる
・Apple Watch をもっと使おう
ご清聴ありがとうございました!!
LT
14
Apple Watch 2 台手元にあるので
興味がある方は懇親会のときにどうぞ

More Related Content

Viewers also liked

iOSアプリ開発でコンフリクトした話
iOSアプリ開発でコンフリクトした話iOSアプリ開発でコンフリクトした話
iOSアプリ開発でコンフリクトした話裕 四方
 
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)mokelab
 
Twitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hackTwitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hackMocel Mocelic
 
iOSで光を感知する
iOSで光を感知するiOSで光を感知する
iOSで光を感知するKosuke Ogawa
 
Appleの先を行くポストタッチインターフェース
Appleの先を行くポストタッチインターフェースAppleの先を行くポストタッチインターフェース
Appleの先を行くポストタッチインターフェースissaymk2
 
UIPageViewControllerとContainerViewでこんな見た目を実現するTips
UIPageViewControllerとContainerViewでこんな見た目を実現するTipsUIPageViewControllerとContainerViewでこんな見た目を実現するTips
UIPageViewControllerとContainerViewでこんな見た目を実現するTipsFumiya Sakai
 
Container View Controllerを正しく使おう
Container View Controllerを正しく使おうContainer View Controllerを正しく使おう
Container View Controllerを正しく使おうasakahara
 
オブジェクト指向な人がRx swiftを試してみた
オブジェクト指向な人がRx swiftを試してみたオブジェクト指向な人がRx swiftを試してみた
オブジェクト指向な人がRx swiftを試してみた小林 弘明
 
自作アプリを watchOS 2 対応した話 〜FastCheckin編〜
自作アプリを watchOS 2 対応した話 〜FastCheckin編〜自作アプリを watchOS 2 対応した話 〜FastCheckin編〜
自作アプリを watchOS 2 対応した話 〜FastCheckin編〜Kosuke Ogawa
 
Ble android
Ble androidBle android
Ble androidkudo1048
 
objective-c propertyの属性について
objective-c propertyの属性についてobjective-c propertyの属性について
objective-c propertyの属性についてHiroki Uemoto
 
Firebaseでのファイルアップロード処理と便利ライブラリの紹介
Firebaseでのファイルアップロード処理と便利ライブラリの紹介Firebaseでのファイルアップロード処理と便利ライブラリの紹介
Firebaseでのファイルアップロード処理と便利ライブラリの紹介Fumiya Sakai
 
ちょっと深いOpenNIとNITEの話(でも初心者歓迎!!)
ちょっと深いOpenNIとNITEの話(でも初心者歓迎!!)ちょっと深いOpenNIとNITEの話(でも初心者歓迎!!)
ちょっと深いOpenNIとNITEの話(でも初心者歓迎!!)Kaoru NAKAMURA
 
The Way of the (Co-)Prototyping チームでUser Interfaceをプロトタイピングする
The Way of the (Co-)Prototyping チームでUser InterfaceをプロトタイピングするThe Way of the (Co-)Prototyping チームでUser Interfaceをプロトタイピングする
The Way of the (Co-)Prototyping チームでUser InterfaceをプロトタイピングするMikihiro Fujii
 
使いやすいWordPressのためのCSSのつくりかた
使いやすいWordPressのためのCSSのつくりかた使いやすいWordPressのためのCSSのつくりかた
使いやすいWordPressのためのCSSのつくりかたHiroshi Urabe
 
Core Graphics on watchOS 2
Core Graphics on watchOS 2Core Graphics on watchOS 2
Core Graphics on watchOS 2Shuichi Tsutsumi
 
2014年からSwiftを振り返る! #cswift
2014年からSwiftを振り返る! #cswift2014年からSwiftを振り返る! #cswift
2014年からSwiftを振り返る! #cswiftTomohiro Kumagai
 
Apple信者だったボクは気づくとiPhone嫌いになっていたんだが 〜iPhone 6 Plusへの苦悩の日々
Apple信者だったボクは気づくとiPhone嫌いになっていたんだが 〜iPhone 6 Plusへの苦悩の日々Apple信者だったボクは気づくとiPhone嫌いになっていたんだが 〜iPhone 6 Plusへの苦悩の日々
Apple信者だったボクは気づくとiPhone嫌いになっていたんだが 〜iPhone 6 Plusへの苦悩の日々Yu Uno
 
UE4背景アーティスト勉強会(後編) 実演+解説
UE4背景アーティスト勉強会(後編) 実演+解説UE4背景アーティスト勉強会(後編) 実演+解説
UE4背景アーティスト勉強会(後編) 実演+解説Aiko Shinohara
 

Viewers also liked (20)

Perl6 meets JVM
Perl6 meets JVMPerl6 meets JVM
Perl6 meets JVM
 
iOSアプリ開発でコンフリクトした話
iOSアプリ開発でコンフリクトした話iOSアプリ開発でコンフリクトした話
iOSアプリ開発でコンフリクトした話
 
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
 
Twitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hackTwitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hack
 
iOSで光を感知する
iOSで光を感知するiOSで光を感知する
iOSで光を感知する
 
Appleの先を行くポストタッチインターフェース
Appleの先を行くポストタッチインターフェースAppleの先を行くポストタッチインターフェース
Appleの先を行くポストタッチインターフェース
 
UIPageViewControllerとContainerViewでこんな見た目を実現するTips
UIPageViewControllerとContainerViewでこんな見た目を実現するTipsUIPageViewControllerとContainerViewでこんな見た目を実現するTips
UIPageViewControllerとContainerViewでこんな見た目を実現するTips
 
Container View Controllerを正しく使おう
Container View Controllerを正しく使おうContainer View Controllerを正しく使おう
Container View Controllerを正しく使おう
 
オブジェクト指向な人がRx swiftを試してみた
オブジェクト指向な人がRx swiftを試してみたオブジェクト指向な人がRx swiftを試してみた
オブジェクト指向な人がRx swiftを試してみた
 
自作アプリを watchOS 2 対応した話 〜FastCheckin編〜
自作アプリを watchOS 2 対応した話 〜FastCheckin編〜自作アプリを watchOS 2 対応した話 〜FastCheckin編〜
自作アプリを watchOS 2 対応した話 〜FastCheckin編〜
 
Ble android
Ble androidBle android
Ble android
 
objective-c propertyの属性について
objective-c propertyの属性についてobjective-c propertyの属性について
objective-c propertyの属性について
 
Firebaseでのファイルアップロード処理と便利ライブラリの紹介
Firebaseでのファイルアップロード処理と便利ライブラリの紹介Firebaseでのファイルアップロード処理と便利ライブラリの紹介
Firebaseでのファイルアップロード処理と便利ライブラリの紹介
 
ちょっと深いOpenNIとNITEの話(でも初心者歓迎!!)
ちょっと深いOpenNIとNITEの話(でも初心者歓迎!!)ちょっと深いOpenNIとNITEの話(でも初心者歓迎!!)
ちょっと深いOpenNIとNITEの話(でも初心者歓迎!!)
 
The Way of the (Co-)Prototyping チームでUser Interfaceをプロトタイピングする
The Way of the (Co-)Prototyping チームでUser InterfaceをプロトタイピングするThe Way of the (Co-)Prototyping チームでUser Interfaceをプロトタイピングする
The Way of the (Co-)Prototyping チームでUser Interfaceをプロトタイピングする
 
使いやすいWordPressのためのCSSのつくりかた
使いやすいWordPressのためのCSSのつくりかた使いやすいWordPressのためのCSSのつくりかた
使いやすいWordPressのためのCSSのつくりかた
 
Core Graphics on watchOS 2
Core Graphics on watchOS 2Core Graphics on watchOS 2
Core Graphics on watchOS 2
 
2014年からSwiftを振り返る! #cswift
2014年からSwiftを振り返る! #cswift2014年からSwiftを振り返る! #cswift
2014年からSwiftを振り返る! #cswift
 
Apple信者だったボクは気づくとiPhone嫌いになっていたんだが 〜iPhone 6 Plusへの苦悩の日々
Apple信者だったボクは気づくとiPhone嫌いになっていたんだが 〜iPhone 6 Plusへの苦悩の日々Apple信者だったボクは気づくとiPhone嫌いになっていたんだが 〜iPhone 6 Plusへの苦悩の日々
Apple信者だったボクは気づくとiPhone嫌いになっていたんだが 〜iPhone 6 Plusへの苦悩の日々
 
UE4背景アーティスト勉強会(後編) 実演+解説
UE4背景アーティスト勉強会(後編) 実演+解説UE4背景アーティスト勉強会(後編) 実演+解説
UE4背景アーティスト勉強会(後編) 実演+解説
 

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