私は既存のアプリケーションの作業を開始し、アプリがバックグラウンドで長時間働いていたときに「早送り」することに気付きました。私はそれをシャットダウンした(例)09:30、私はそれをすべての仕事をしたが、それから UIを更新し始めた。数秒で、バックグラウンドで5分間のデータをすべて競い合います。iOS/Obj-cでアプリケーションを開いた後にデータが流れ込む
この私のアプリのための許容動作ではありませんので、これは私がやっていることです:
- 追加バックグラウンドモード(場所)もちろん、私の能力
へのI /ジャイロを使用するようにCoreMotionをリンク加速度計。
self.motionManager = [[CMMotionManager alloc] init]; //Gyroscope if([self.motionManager isGyroAvailable]) { // Start the gyroscope if it is not active already if([self.motionManager isGyroActive] == NO) { // Update us 2 times a second // [self.motionManager setGyroUpdateInterval:1.0f/1.0f]; [_motionManager setAccelerometerUpdateInterval:0.1]; [self.motionManager startAccelerometerUpdatesToQueue:[NSOperationQueue mainQueue] withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) { if(error){ NSLog(@"%@", error); } else { //NSString *x = [[NSString alloc] initWithFormat:@"%.02f",accelerometerData.acceleration.x]; float g = 9.80665f; float AccelX = accelerometerData.acceleration.x * g; float Accely = accelerometerData.acceleration.y * g; float Accelz = accelerometerData.acceleration.z * g; [self getSicknessIndicator:AccelX ay:Accely az:Accelz]; } }]; //Receive the gyroscope data on this block } }
私はこの行動がなぜ起こるか非常にわからないと私はまた、残念ながら、StackOverflowの上ではなく、結果なしで他の質問の多くを試してみました。彼らは主にバックグラウンドモードを追加するように指示します。