我想使用Swift访问iPhone上气压计的压力值。有人能告诉我怎么做吗?我正在使用CLLocation访问海拔高度。同样的类能用来承受压力吗?
编辑:
我在我的viewDidLoad()方法中放了以下内容,但它没有打印任何东西.请给我建议。
let altimeter = CMAltimeter()
if CMAltimeter.isRelativeAltitudeAvailable() {
altimeter.startRelativeAltitudeUpdates(to: OperationQueue.current!, withHandler: { data, error in
if !(error != nil) {
print("Relative Altitude: \(data?.relativeAltitude)")
print("Relative Pressure: \(data?.pressure)")
self.pressLabel.text = String(describing: data?.pressure)
}
})
}发布于 2016-11-28 04:18:53
气压计读数与位置无关。
您需要查看核心运动库,特别是CMAltitude和CMAltitudeData。有关示例,请参见How to use CMAltitudeHandler in Swift?。
发布于 2021-08-04 03:06:19
您需要保持对altimeter的引用,否则当viewDidLoad()结束时,它就会超出范围。
class ViewController: UIViewController {
@IBOutlet weak var pressureLabel: UILabel!
private var altimeter: CMAltimeter!
override func viewDidLoad() {
super.viewDidLoad()
altimeter = CMAltimeter()
guard let data = data else {
print(error?.localizedDescription ?? "unknoen error")
return
}
print("Relative Altitude: \(data.relativeAltitude)")
print("Relative Pressure: \(data.pressure)")
self.pressureLabel.text = String(describing: data.pressure)
}
}https://stackoverflow.com/questions/40837099
复制相似问题