📈
AirPodsProのセンサー情報を取得する
前回に引き続き
CMHeadphoneMotionManagerを調べる。今回はAPIを使ってAirPodsProのモーションデータを取得する。
モーションデータを取得する為にプライバシー設定に以下のキーを定義する。
Privacy - Motion Usage Description
モーションマネージャの初期化
let hmm = CMHeadphoneMotionManager()
availableのチェック
if !hmm.isDeviceMotionAvailable {
print("current device does not support the headphone motion manager.")
return
}
モーション取得の開始(ハンドラの設定)
hmm.startDeviceMotionUpdates(to: .main) { (motion, error) in
if let motion = motion {
print(motion)
}
if let error = error {
print(error)
}
}
実行
初回起動時にパーミッションのダイアログが表示される。
コンソールにデータが表示された(長いので省略)
QuaternionX -0.105983 QuaternionY -0.035076 QuaternionZ -0.000000 ...
各パラーメータが何を意味しているのかは追々調べる。
Discussion