最近一個埋點上的小需求,百度里找到的都不是很好用.
1.引入頭文件<CoreMotion/CoreMotion.h> 以及在linked里加入這個包.
- (void)viewDidLoad {
[superviewDidLoad];
CMMotionManager*motionManager = [[CMMotionManageralloc]init];
NSOperationQueue*queue = [[NSOperationQueuealloc]init];
//加速計
if(motionManager.accelerometerAvailable) {
motionManager.accelerometerUpdateInterval=0.5;
[motionManagerstartAccelerometerUpdatesToQueue:queuewithHandler:^(CMAccelerometerData*accelerometerData,NSError*error){
if(error) {
[motionManagerstopAccelerometerUpdates];
NSLog(@"error");
}else{
doublezTheta =atan2(accelerometerData.acceleration.z,sqrtf(accelerometerData.acceleration.x*accelerometerData.acceleration.x+accelerometerData.acceleration.y*accelerometerData.acceleration.y))/M_PI*(-90.0)*2-90;
doublexyTheta =atan2(accelerometerData.acceleration.x,accelerometerData.acceleration.y)/M_PI*180.0;
NSLog(@"手機與水平面的夾角是%.2f,手機繞自身旋轉的角度是%.2f",-zTheta,xyTheta);
}
}];
}else{
NSLog(@"This device has no accelerometer");
}
}