我正在尝试使用新 iPhone 中的气压计传感器在设备上显示垂直速度。我最终在我的“运动”模型中得到了以下代码,它确实执行以提供或多或少适当的值。
但是,我在执行时更新我的视图方面遇到了问题startRelativeAltitudeUpdatesToQueue
。的值userRelativeAltitude
已更新,但该函数从不返回任何内容(可能是因为它正在startRelativeAltitudeUpdatesTo Queue
像循环一样执行工作。?)。恐怕整个声明已经在我头顶结束了。
我开始拥有更像例如的功能startAccelerometerUpdates
。有没有更好的方法从气压计收集数据?
另外,您如何检查设备是否有可用的气压计传感器?
- (float) pullRelativeAltitude {
self._altitudeManager = [[CMAltimeter alloc] init];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[self._altitudeManager startRelativeAltitudeUpdatesToQueue:queue withHandler:^(CMAltitudeData *altitudeData, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^ {
_userRelativeAltitude = altitudeData.relativeAltitude.floatValue;
NSLog(@"%f", altitudeData.relativeAltitude.floatValue);
});
}];
NSLog(@"This is relative altitude: %f", _userRelativeAltitude is );
return _userRelativeAltitude;
}
建议将不胜感激!