Ios watchOS2 CMDeviceMotion不工作

Ios watchOS2 CMDeviceMotion不工作,ios,swift,apple-watch,watchos-2,Ios,Swift,Apple Watch,Watchos 2,在Interfacecontroller.swift中,我有一个类变量var motionManager=CMMotionManager()和var accTest=[Double](),我在这段代码中提到了这两个变量: let useOnlyAccelerometer = true if useOnlyAccelerometer { motionManager.accelerometerUpdateInterval = 0.1 if motionMa

Interfacecontroller.swift
中,我有一个类变量
var motionManager=CMMotionManager()
var accTest=[Double]()
,我在这段代码中提到了这两个变量:

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
。有什么想法吗?

我猜想第一代苹果手表不支持磁强计。Ifixit透露,手表上有磁铁将其连接至充电器。在2016年WWDC的实验室里,我问一位苹果工程师,磁强计是否会得到支持,结果得到了一个相当德尔菲式的回答:“那需要一个强大的磁强计,不是吗?”我不知道未来是否会有支持

因此,如果不支持磁强计,则CMDeviceMotion的

公共无功磁场:CMCalibredMagneticField{get}


将是未定义的。建议您提交错误报告。

好的,谢谢。那么至少我现在可以停止尝试…:-)