- (void)startUpdateAccelerometer { /* 設(shè)置采樣的頻率,單位是秒 */ NSTimeInterval updateInterval = 0.05; // 每秒采樣20次 // CGSize size = [self superview].frame.size; // __block CGRect f = [self frame]; __block int stepCount = 0; // 步數(shù) //在block中,只能使用weakSelf。 /* 判斷是否加速度傳感器可用,如果可用則繼續(xù) */ if ([motionManager isAccelerometerAvailable] == YES) { /* 給采樣頻率賦值,單位是秒 */ [motionManager setAccelerometerUpdateInterval:updateInterval]; /* 加速度傳感器開始采樣,每次采樣結(jié)果在block中處理 */ [motionManager startAccelerometerUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) { CGFloat sqrtValue =sqrt(accelerometerData.acceleration.x*accelerometerData.acceleration.x+accelerometerData.acceleration.y*accelerometerData.acceleration.y+accelerometerData.acceleration.z*accelerometerData.acceleration.z); // 走路產(chǎn)生的震動(dòng)率 if (sqrtValue > 1.552188 && valiadCountStep) { displayLink.paused = NO; [Database save:TableLocalFoot entity:[NSDictionary dictionaryWithObjectsAndKeys:@"1",@"footid",[[NSUserDefaults standardUserDefaults] valueForKey:@"token"],@"userid",[NSDate date],@"time", nil]]; // [self.delegate totleNum:stepCount]; stepCount +=1; valiadCountStep = NO; } }]; } } |
|