2010-12-16 9 views
0

작업 완료 - 응용 프로그램이 시스템에 특정 작업을 완료하는 데 추가 시간을 요청할 수 있습니다. 내가 작업 완료를 위해이 방법을 사용하고작업 완료 구현 방법

,

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 
    UIApplication *app = [UIApplication sharedApplication]; 
    bgTask = [app beginBackgroundTaskWithExpirationHandler:^ 
    { 
     NSLog(@"This is Testing"); 

     [app endBackgroundTask:bgTask]; 

     bgTask=UIBackgroundTaskInvalid; 
    }]; 
} 

하지만 난이 방법에서 출력을 받고 있지 않다. 누구나 말해 봐요, 내가 뭘 잘못하고 있는지 말해 줄 수 있어요. 작업 완료를 위해 구현할 가장 좋은 방법을 말해 줄 수 있어요.

감사합니다,

답변

1

당신은 만료 핸들러를 설정하는,하지만 당신은 실제로 배경에서 어떤 일을 할 나타나지 않습니다

Arunkumar.P. 위에서 작성한 코드가 iOS 앱 프로그래밍 가이드의 Executing Code in the Background 섹션에서 복사 된 것 같습니다. 그 exxample에서 코드의 다음 부분은 다음과 같습니다

// Start the long-running task and return immediately. 
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 

    // Do the work associated with the task. 

    [app endBackgroundTask:bgTask]; 
    bgTask = UIBackgroundTaskInvalid; 
}); 

만료 핸들러 (10 분 지난번에 내가이) 제한 시간까지 호출되지 않습니다에 도달; 만기 핸들러가 아니라 비동기 적으로 디스패치하는 태스크에서 작업을 수행하십시오.

0

이 문제는 Easy Background Tasks In IOS 4입니다.

주요 아이디어는 아무 것도하지 않는 비동기 실행 코드를 보내고 현재 코드를 계속 실행하는 것입니다.

희망도 해결됩니다.

+0

링크가 작동하지 않습니다. 이것이 문제를 요약해야하는 이유입니다. 해결책의 요지를 얻을 수 있도록 답을 편집하십시오. 확실히이 대답을 더 유용하게 만들 것입니다. –

관련 문제