我正在编写代码来检测磁铁。我正在通过以下代码执行此操作:
let manager = CMMotionManager()
if manager.isMagnetometerAvailable {
manager.startMagnetometerUpdates(to: OperationQueue.main) { (data, error) in
let bField = sqrt((pow(data?.magneticField.x ?? 0, 2) + pow(data?.magneticField.y ?? 0, 2) + pow(data?.magneticField.z ?? 0, 2)))
print(bField)
}
}
问题是没有磁铁时打印值在250以上。如果周围没有磁铁,这个值应该在 50uT 左右。是原始数据吗?如果是原始数据,如何获取原始数据?