본문 바로가기

프로그래밍/iOS

[iOS] background에서 작업하기

UIBackgroundTaskIdentifier taskId;              ///< 백그라운드 taskId



#pragma mark - background task

/**

 백그라운드 시작을 알리는 함수

*/

- (void)startBackgroundTask

{

    // System  background 작업이 필요함을 알림. 작업의 id 반환

    taskId = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{

        [[UIApplication sharedApplication] endBackgroundTask:taskId];

        return ;

    }];

}

/**

 백그라운드 끝을 알리는 함수

*/

- (void)endBackgroundTask

{

    [[UIApplication sharedApplication] endBackgroundTask:taskId];

    

    taskId = 0;

 

}


위와 같이 선언해 두고

[self startBackgroundTask];

// 할일

[self endBackgroundTask];


하면 된다.


어제 야근하면서 썼을때 동작안하길래, 이래서 블로그에 안적어놨나 했더니.

오늘보니깐 좀 start부분을 좀 이상하게 쓴거 같다.


역시 야근은 사람을 이상하게 만드는듯