天天看點

iOS傳感器之氣壓計的使用

  • 氣壓計實際上叫測高儀,因為氣壓主要與海拔高度有關
    • 氣壓計的硬體在iPhpne内部,主要是檢測大氣壓強(kPa)的,而大氣壓強由于海拔高度有關
    • 不是檢測風速的,不要以為對着iPhone吹氣,氣壓值就會變化
  • 傳感器不屬于隐私功能,不需要授權
  • 氣壓計是iPhone6開始加入的硬體,不支援6以前的機型
  • 使用氣壓計相當簡單
#import "ViewController.h"
//傳感器架構
#import <CoreMotion/CoreMotion.h>

@interface ViewController ()

@property(nonatomic,strong)CMAltimeter *altimeter;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    //1.建立氣壓計(測高儀),這裡要用全局變量,不然會被釋放
    self.altimeter = [[CMAltimeter alloc] init];

    //2.檢測目前裝置是否可用(iphone6機型之後新增)
    if([CMAltimeter isRelativeAltitudeAvailable])
    {
        //3.開始檢測氣壓
        [self.altimeter startRelativeAltitudeUpdatesToQueue:[NSOperationQueue mainQueue] withHandler:^(CMAltitudeData * _Nullable altitudeData, NSError * _Nullable error) {
            NSLog(@"高度:%0.2f m  氣壓值:%0.2f kPa",[altitudeData.relativeAltitude floatValue],[altitudeData.pressure floatValue]);
        }];
    }

    // Do any additional setup after loading the view, typically from a nib.
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


@end