2013-03-23 1 views
0

앱이 백그라운드에서 있었던 시간을 찾으려고합니다. 모든 것이 잘 컴파일되지만 앱이 백그라운드에서 실행 된 시간만큼 카운터가 증가하지 않습니다. 내보기 컨트롤러에서앱이 백그라운드에있는 동안 초를 계산하십시오.

-(void)applicationWillResignActive:(UIApplication *)application { 

    closeTime = [NSDate date]; 

    NSUserDefaults *defaultsCloseTime; 
    [defaultsCloseTime setInteger:closeTime forKey:@"closeTimeKey"]; 
    [defaultsCloseTime synchronize]; 

} 

-(void)applicationWillEnterForeground:(UIApplication *)application { 

    closeTime = [[NSUserDefaults standardUserDefaults] integerForKey:@"closeTimeKey"]; 

    timeInterval = [closeTime timeIntervalSinceNow] * -100; 

} 


Counter 

:

당신이해야 synchronize
counterInt = time + counterInt; 
+0

추가'NSLog (@ "활성 사임 했 응용 프로그램"); 확인 메서드가 호출 점점 있도록'. –

답변

0

사용자 기본값으로 가까운 시간을 작성 후. 또한 귀하의 질문에, 당신은 어디에서 counterInt을 읽고 당신은 사용자의 기본값에 저장하고 있습니까?

한 가지 더 :

NSInterger time = round(timeInterval); 
+0

감사! 완전히 동기화하지 못했습니다. 이것은 여전히 ​​작동하지 않습니다. timeInterval에 대한 가치가 전혀 없습니다. –

관련 문제