cmpedometerで歩数計を 作ってみよう

11
CMPedometerで歩数計を 作ってみよう 株式会社デコレーションカンパニー 徳弘佑衣

Upload: yui-tokuhiro

Post on 07-Aug-2015

863 views

Category:

Mobile


0 download

TRANSCRIPT

Page 1: CMPedometerで歩数計を 作ってみよう

CMPedometerで歩数計を 作ってみよう

株式会社デコレーションカンパニー 徳弘佑衣

Page 2: CMPedometerで歩数計を 作ってみよう

自己紹介• 株式会社デコレーションカンパニー代表

• ここCoEdoのスタッフです

• オリジナルのiPhoneケースが作れるアプリ「DesigningCase」運営

• iOS開発歴4年

• Swiftは苦手です

Page 3: CMPedometerで歩数計を 作ってみよう

アプリ紹介(ぼくの歩数計)

実際の動きを見てください( ✧Д✧)

Page 4: CMPedometerで歩数計を 作ってみよう

今日やることこのアプリの中心になっている「歩数計」の機能をCMPedometerを使って簡単に実装してみよう

Page 5: CMPedometerで歩数計を 作ってみよう

CMPedometerとは?iOS 8 のCoreMotionに追加された歩数関連のデータを取得することができる API !

歩数/走行距離などを計測できたり、過去に遡ってデータを参照できたりします。

注意:M7/M8(iPhone5s以降のデバイス)でしか使えない)

Page 6: CMPedometerで歩数計を 作ってみよう

M7/M8とは?M7:iPhone5sから搭載されたチップ!加速度センサ、ジャイロセンサ、磁気センサの処理をまとめて行うことで省電力でこれらのデータを使用することができる

M8:iPhone6/6plusに搭載されてるチップ!M7の機能に加え気圧計が追加された

Page 7: CMPedometerで歩数計を 作ってみよう

❶CoreMotionを追加フレームワークの追加方法

Page 8: CMPedometerで歩数計を 作ってみよう

❷import & 変数作成import UIKit import CoreMotion

class ViewController: UIViewController {

//表示するラベル @IBOutlet weak var label: UILabel! //CMPedometerの変数を作成 let pedometer = CMPedometer()

Page 9: CMPedometerで歩数計を 作ってみよう

❸測定する処理//カウント用メソッド func startStepCounting() { // CMPedometerが利用できるか確認 if CMPedometer.isStepCountingAvailable() { // 計測開始 pedometer.startPedometerUpdatesFromDate(NSDate(),              withHandler: {data, error in                   dispatch_async(dispatch_get_main_queue(), { // 歩数 let steps = data.numberOfSteps // 結果をラベルに出力 self.label.text = "Steps: \(steps)" }) }) } }

Page 10: CMPedometerで歩数計を 作ってみよう

解説 startPedometerUpdatesFromDate:このメソッドによってリアルタイム計測を行います。 第1引数:NSDate型→どの時点からデータを取得するかを指定可能 第2引数:handlerでは 計測データ(pedometerData *pedometerData) エラー内容(NSError *error) このhandlerは新しいデータが追加されるとバックグラウンドスレッドで繰り返し呼ばれるようになっています。

Page 11: CMPedometerで歩数計を 作ってみよう

今日のコードhttps://github.com/TokuhiroYui/CountWalk

参考URL:

(1)http://blog.tsumikiinc.com/article/20141111_ios8-cmpedometer.html

(2)http://dev.classmethod.jp/references/ios8-cmpedometer/

ありがとうございました∩( ✧Д✧)∩