ich brauche die 3-Achsen-Magnetfeld, abzutasten, so Ich verwende den DeviceMotion, und hier ist mein Code:Warum sind die Werte von magneticField.field in Null festgelegt? 3-Achsen-Beschleunigung und 3-Achsen-Drehrate
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]
}
)}
}
}
jedoch die Werte von 3- Das Magnetfeld der Achse, das ich bekommen habe, ist auf Null fixiert, egal wie sehr ich versuche, mein iPhone zu bewegen. Kannst du mir bitte Helfen ???
Ich brauche 3-Achsen-Beschleunigung und 3-Achsen-Drehgeschwindigkeit zur gleichen Zeit, so kann ich startDeviceMotionUpdatesToQueue und startMagnetometerUpdatesToQueue nicht, weil seine Abtastzeitpunkt seiner different.In Tatsache, obwohl ich die gleiche magnetometerUpdateInterval mit deviceMotionUpdateInterval gesetzt, wenn Ich benutze startDeviceMotionUpdatesToQueue und startMagnetometerUpdatesToQueue, ist nicht nur die Probezeit anders, sondern auch Probe Nummer –