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

特雷弗

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

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

马特

问题在于,motionManager已将分配CMMotionManager实例的变量声明为局部变量(在函数的主体中viewDidLoad),这意味着当函数完成执行时,该变量已不存在。因此,其寿命约为10000秒。

好吧,对于您的CMMotionManager而言,获得足够多的更新还不够长!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章