包含头文件#import<CoreMotion/CoreMotion.h>
创建管理器 CMMotionManager * cmm = [CMMotionManager new];
1.加速度传感器
设置检测频率cmm.accelerometerUpdateInterval = 1;//每秒一次
if (cmm.accelerometerAvailable) {//检测设备有没有加速度模块
[cmm startAccelerometerUpdatesToQueue:[[NSOperationQueue alloc] init] withHandler:^(CMAccelerometerData * _Nullable accelerometerData, NSError * _Nullable error) {//开始检测
NSLog(@"%@",accelerometerData);
}];
}
[cmm stopAccelerometerUpdates]//停止加速度的检测
2.陀螺仪
cmm.gyroUpdateInterval = 1;//陀螺仪的检测频率
if (cmm.gyroAvailable) {//有没有陀螺仪
[cmm startGyroUpdatesToQueue:[NSOperationQueue new] withHandler:^(CMGyroData * _Nullable gyroData, NSError * _Nullable error) {
NSLog(@"%@",gyroData);
}];
}
[cmm stopGyroUpdates]//停止陀螺仪的检测
3.距离传感器
[UIDevice currentDevice].proximityMonitoringEnabled = true;//启动距离传感器
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(proximity:) name:UIDeviceProximityStateDidChangeNotification object:nil];
//接收距离传感器的的变化(只有yes 或no)
-(void)proximity:(NSNotification *)not
{
NSLog(@"%u",[UIDevice currentDevice].proximityState);
}
//停止的时候删除通知即可
[[NSNotificationCenter defaultCenter]removeObserver:self];
网友评论