0
在Interfacecontroller.swift
我有一個類變量var motionManager = CMMotionManager()
和var accTest = [Double]()
,我指的是這段代碼:watchOS2 CMDeviceMotion不起作用
let useOnlyAccelerometer = true
if useOnlyAccelerometer {
motionManager.accelerometerUpdateInterval = 0.1
if motionManager.accelerometerAvailable {
let handler:CMAccelerometerHandler = {(data: CMAccelerometerData?, error: NSError?) -> Void in
self.statusLabel.setText(String(format: "%.2f", data!.acceleration.x))
self.accTest.append(data!.acceleration.x)
}
motionManager.startAccelerometerUpdatesToQueue(NSOperationQueue.currentQueue()!, withHandler: handler)
}
} else {
motionManager.deviceMotionUpdateInterval = 0.1
if motionManager.deviceMotionAvailable {
let handler:CMDeviceMotionHandler = {(motion: CMDeviceMotion?, error: NSError?) -> Void in
self.statusLabel.setText(String(format: "%.2f", motion!.userAcceleration.x))
self.accTest.append(motion!.userAcceleration.x)
}
motionManager.startDeviceMotionUpdatesToQueue(NSOperationQueue.currentQueue()!, withHandler: handler)
}
}
直接使用加速度計的作品。現在,如果我將useOnlyAccelerometer
更改爲false
,那麼它不起作用。我不明白區別或發生了什麼問題。在iPhone上它確實有效,根據文檔,watchOS2應該支持CMDeviceMotion
。有任何想法嗎?
好的,謝謝。那麼至少我現在可以停止嘗試...... :-) – Pieter