磁力计传感器 |
感应周边的磁场(合盖锁屏) |
//
// ViewController.m
#import "ViewController.h"
#import <CoreMotion/CoreMotion.h>
@interface ViewController ()
/** 运动管理 */
@property (nonatomic, strong) CMMotionManager *mgr;
@end
@implementation ViewController
#pragma mark - 懒加载
- (CMMotionManager *)mgr
{
if (_mgr == nil) {
_mgr = [[CMMotionManager alloc] init];
}
return _mgr;
}
- (void)viewDidLoad {
[super viewDidLoad];
// 获取磁力计传感器的值
// 1.判断磁力计是否可用
if (!self.mgr.isMagnetometerAvailable) {
return;
}
// 2.设置采样间隔
self.mgr.magnetometerUpdateInterval = 0.3;
// 3.开始采样
[self.mgr startMagnetometerUpdatesToQueue:[NSOperationQueue mainQueue] withHandler:^(CMMagnetometerData *magnetometerData, NSError *error) {
if (error) return;
CMMagneticField field = magnetometerData.magneticField;
NSLog(@"x:%f y:%f z:%f", field.x, field.y, field.z);
}];
}
@end