0
我需要样品3轴磁场,3轴加速度和3轴的旋转速度,所以我使用DeviceMotion,这里是我的代码:为什么magneticField.field的值固定为零?
if manager.deviceMotionAvailable {
if manager.magnetometerAvailable {
manager.magnetometerUpdateInterval=0.01
manager.deviceMotionUpdateInterval = 0.01
manager.startDeviceMotionUpdatesToQueue(NSOperationQueue.mainQueue(), withHandler: {(data: CMDeviceMotion?, error: NSError?) -> Void in
if(standard_time) {
let data = [
"ax":data!.userAcceleration.x,"ay":data!.userAcceleration.y,"az":data!.userAcceleration.z,
"gax":data!.gravity.x,"gay":data!.gravity.y,"gaz":data!.gravity.z,
"gx":data!.rotationRate.x,"gy":data!.rotationRate.y,"gz":data!.rotationRate.z,
"mmx":data!.magneticField.field.x,"mmy":data!.magneticField.field.y,"mmz":data!.magneticField.field.z,
"roll":data!.attitude.roll, "pitch":data!.attitude.pitch, "yaw":data!.attitude.yaw]
}
)}
}
}
然而,3-值无论我多么努力地尝试移动我的iphone,我得到的轴向磁场都固定为零。你可以帮我吗 ???
我需要3轴加速度和3轴的旋转速度的同时,所以我不能使用startDeviceMotionUpdatesToQueue和startMagnetometerUpdatesToQueue因为其采样时间其different.In事实上,虽然我设置与deviceMotionUpdateInterval相同magnetometerUpdateInterval如果我使用startDeviceMotionUpdatesToQueue和startMagnetometerUpdatesToQueue,不仅是样本时间不同,而且样本编号为 –