我在使用 Core Motion 和 SwiftUI 输出磁力计、加速度计和陀螺仪的数据时遇到问题。我假设我的问题与 startMagnetometerUpdates() 有关。
我尝试使用在堆栈溢出以及 GitHub/google 上找到的源代码。问题是我发现的所有代码都使用 UIKit 而不是 SwiftUI。是否可以在不使用 UIKit 的情况下实现这一点?
import CoreMotion
let motionManager = CMMotionManager()
var x = 0.0; var y = 0.0; var z = 0.0
func magnet() {
motionManager.magnetometerUpdateInterval = 1/60
motionManager.startMagnetometerUpdates()
if let magnetometerData = motionManager.magnetometerData {
x = magnetometerData.magneticField.x
y = magnetometerData.magneticField.y
z = magnetometerData.magneticField.z
}
}
struct Magnetometer: View {
var body: some View {
VStack {
Text("Magnetometer Data")
Text("X: \(x)")
Text("Y: \(y)")
Text("Z: \(z)")
}
}
} …Run Code Online (Sandbox Code Playgroud)