Я начал работать над существующим приложением и заметил, что время «быстро вперед», когда приложение было в фоновом режиме в течение длительного времени. Я закрыл его (пример) 09:30 минут, когда я открыл его в 14:21, он выполнил всю работу, но только , затем, он начинает обновление пользовательского интерфейса. Через несколько секунд он проходит через все данные с пяти минут в фоновом режиме.Потоки данных после открытия приложения с iOS/Obj-c
Это не приемлемое поведение для моего приложения, так это то, что я сделал:
- Добавлена фоновый режим (место) для моих возможностей
Конечно, я связанное 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, но без результата, к сожалению. Они в основном говорят мне добавить фоновый режим.