【问题标题】:Why am I not getting any accelerometer update?为什么我没有收到任何加速度计更新?
【发布时间】:2015-01-13 19:39:50
【问题描述】:

我正在尝试使用 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")
        }
    }
}

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

【问题讨论】:

  • 是的,我知道为什么。谢谢你来玩。 :)
  • @matt 哦,我本来很乐意玩,但我住的地方是晚上 :)

标签: ios swift core-motion


【解决方案1】:

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

嗯,这还不足以让您的 CMMotionManager 获得很多更新!

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-26
  • 1970-01-01
  • 1970-01-01
  • 2021-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多