NSTimer 백그라운드 진입시 동작 분석
iOS에서 특정 시간주기로 특정 메서드을 호출하기위해 NSTimer를 사용하게 된다. 이때 앱이 백그라운드(background)로 진입할때, 그리고 잠시 후 다시 포어그라운드(foreground)로 돌아올경우 예약되어 사용중인 NSTimer가 어떻게 동작하는지 살펴보도록 하자. 기본적으로 타이머의 실행 주기는 타이머가 등록되는 시간을 기준으로하여 **고정 간격으로 실행(fire)**된다. 이는 앱이 백그라운드로 진입하면서 잠시 타이머가 정지한다 해도 영향을 받지않고 동일하게 적용된다. 백그라운드 진입시 NSTimer는 언제 정지하는가? 앱이 백그라운드로 진입하면서 AppDelegate의 applicationDidEnterBackground:가 호출될 때, 특별히 명시적으로 backgroundTask를 등록하지 않은경우에는 백그라운드 진입과 동시에 타이머는 정지하게된다. ...