Slide 42
Slide 42 text
① 過去の記録から
ゴーストを作る
② ゴーストと自分との
「前後の差」がわかる
③ ゴーストの位置を
「足音」にする
Core Motion から現在の走行距離を取得する
CMPedometer で開始地点からの走行距離を取得できる
func startLiveProgressUpdates(
pedometer: CMPedometer,
startedAt: Date,
elapsedProvider: @escaping () -> TimeInterval,
onUpdate: @escaping (LiveProgress) -> Void) {
guard CMPedometer.isDistanceAvailable() else { return }
pedometer.startUpdates(from: startedAt) { data, error in
guard error == nil, let distance = data?.distance?.doubleValue else { return }
// 更新される度にゴーストの走行距離と比較する
onUpdate(
LiveProgress(
elapsedSeconds: elapsedProvider(), // 自前のタイマーから経過時間を取得
}
}
)
)
distance: max(0, distance)
CMPedometer:https://developer.apple.com/documentation/coremotion/cmpedometer