CMAltimeter检测起飞和降落

时间:2018-03-20 20:48:02

标签: objective-c core-motion cmaltimeter

我想知道如何在海拔高度增加时创建通知,以及在海拔降低时发出通知。 我已经尝试过这段代码,但我不知道下一步该做什么。

- (CMAltimeter *)altimeter {
    if (!_altimeter) {
        _altimeter = [[CMAltimeter alloc]init];
    }
    if ([CMAltimeter isRelativeAltitudeAvailable]) {
        CMAltimeter* altimeter = [[CMAltimeter alloc] init];

        NSOperationQueue* queue = [[NSOperationQueue alloc] init];
        [altimeter startRelativeAltitudeUpdatesToQueue:queue withHandler:^(CMAltitudeData* altitudeData, NSError* error) {
        }];
    }
    return _altimeter;
}

1 个答案:

答案 0 :(得分:0)

每次有更新时都会提取数据:

 [altimeter startRelativeAltitudeUpdatesToQueue:queue      
 withHandler:^(CMAltitudeData* altitudeData, NSError* error) 
 {
    // Put your data-handling code here --  for example, 
    // if your display has an element userRelAltitude 
    // that displays text:

    float relAltitude;
    relAltitude = altitudeData.relativeAltitude.floatValue;
    self.userRelAltitude.text = [NSString stringWithFormat:@"%.0f m", relAltitude];
  }];

然后,您可以将每个值与前一个值进行比较,以查看它是增加还是减少,并显示相应的通知。