2016-12-26 8 views
0

NSTimer을 통해 CMDeviceMotion 가속도 데이터 샘플을 30 초 동안 기록했습니다. 문제는 앱이 포 그라운드에있을 때 모든 것이 정상입니다. 간격은 0.01으로 설정되고 30 seconds에는 3000 개의 판독 값이 저장됩니다. 하지만 앱이 백그라운드로 이동하면 300 수치 만 표시됩니다.앱이 iOS 앱에서 백그라운드로 전환되면 NSTimer 업데이트 간격이 변경됩니까?

self.deviceMotionTimer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(recordUpdates) userInfo:nil repeats:YES]; 

NSTimer는 어떻게 작동합니까?

답변

0

NSTimer은 백그라운드에서 절대로 작동하지 않습니다. 앱이 백그라운드로 이동하면 NSTimer도 정지합니다. 간단히 말해 백그라운드에서 반복적 인 작업을하고 싶을 때 NSTimer를 사용할 수 없습니다.

당신은 여전히 ​​다음이 스레드에서 @Robert에 의해 주어진 대답 사용, 배경에 뭔가를 실행하려면 : Scheduled NSTimer when app is in background?