gpt4 book ai didi

iphone - 无法从加速度计、陀螺仪和 DeviceMotion 获取值

转载 作者:行者123 更新时间:2023-11-30 12:45:45 29 4
gpt4 key购买 nike

我正在制作一个应用程序,通过获取 iPhone 的任何移动来跟踪您的 sleep 。我到处搜索,有很多方法可以从中获取数据,但没有用。这是我的代码。

func startManager() {
let manager = CMMotionManager()
manager.startAccelerometerUpdates()
let accelerometer = manager.accelerometerData
}

但是manager.accelerometerData为零。我还尝试了 DeviceMotion、Gyro 和 UserAcceleration,但都不起作用。我也尝试过这个。

print(manager.isAccelerometerActive)

它打印了false,所以我认为这就是问题所在,但我仍然无法使其激活。

我尝试将 let manager = CMMotionManager() 放在顶部,但它仍然无法工作。

我尝试将manager.startAccelerometerUpdates()放入ViewDidLoad中,但仍然不起作用。

我还尝试了另一种方法,就是这个。

    manager.startAccelerometerUpdates(to: OperationQueue.main) { (data : CMAccelerometerData, error : Error) in
print(data)
}

但它给了我一个错误,说我必须添加为! CMAccelerometerHandler 但在我添加之后它告诉我再次添加它。

我想从加速度计获取原始值 x、y 和 z

(我导入了CoreMotion)

我在 XCode 8.2.1 上使用 Swift 3 执行此操作,并在 iPhone 6s 上进行测试。

最佳答案

在 Swift3 中,您应该在处理程序中使用可选参数

motionManager.startAccelerometerUpdates(
to: OperationQueue.main ,
withHandler:{ (data : CMAccelerometerData?, error : Error?) in
print(data)
})

关于iphone - 无法从加速度计、陀螺仪和 DeviceMotion 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41659299/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com