为什么我没有收到任何加速度计更新?

Why am I not getting any accelerometer update?

我正在尝试使用 CoreMotion 和 Swift 获取加速度计更新,这是我在 viewDidLoad 中放置的内容:

override func viewDidLoad() {
    super.viewDidLoad()
    let motionManager = CMMotionManager()
    motionManager.accelerometerUpdateInterval = 0.2
    motionManager.startAccelerometerUpdatesToQueue(NSOperationQueue.currentQueue()) {
        (info:CMAccelerometerData!,error:NSError!) in
        if error != nil {
            println(error)
        }
        else {
            println("OK")
        }
    }
}

问题是我的闭包似乎从未被调用(我在控制台中没有任何东西),你知道为什么吗?

问题是您的 CMMotionManager 实例分配给的变量 motionManager 被声明为局部变量(在函数 viewDidLoad 的主体中),这意味着它会当函数完成执行时不存在。因此它的寿命大约是万分之一秒。

好吧,这还不够您的 CMMotionManager 获得很多更新!