2012-08-27 2 views
0

기기 잠금 문제가 있습니다. 내 앱이 실행 중이고 기기가 잠긴 경우 내 앱도 작동하지 않습니다. 기기가 잠긴 경우에도 앱이 작동되기를 원합니다. 다음 내 코드가 같이이 들어화면이 잠길 때 앱 실행 허용 방법

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 
[[UIApplication sharedApplication] setIdleTimerDisabled:NO]; 

background = YES; 

UIApplication *app = [UIApplication sharedApplication]; 

bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ 
    [app endBackgroundTask:bgTask]; 
    bgTask = UIBackgroundTaskInvalid; 
}]; 

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
    if (background) { 
    StressFreeAlarmViewController *alarmController=[[StressFreeAlarmViewController alloc] initWithNibName:@"StressFreeAlarmViewController" bundle:nil]; 

    [alarmController setTimer:[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(updatingApp) userInfo:nil repeats:YES]]; 

    background=NO; 
    } 
}); 

} 


- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 
background = NO; 
} 

답변

1

코멘트 장치가 잠겨있을 때, 당신은 응용 프로그램을 설치할 수 없습니다

[app endBackgroundTask:bgTask]; 
bgTask = UIBackgroundTaskInvalid; 


here 


UIApplication *app = [UIApplication sharedApplication]; 

bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ 
    //[app endBackgroundTask:bgTask]; 
    //bgTask = UIBackgroundTaskInvalid; 
}]; 
0

는 당신이 여기에 다음 코드를 화면 잠금을 방지하기 위해 필요한 것은 stopPreventSleep이 방지 수면을 중지

- (void)startPreventSleep { 
    // We need to play a sound at least every 10 seconds to keep the iPhone awake. 
    // We create a new repeating timer, that begins firing now and then every ten seconds. 
    // Every time it fires, it calls -playPreventSleepSound 
    self.preventSleepTimer = [[NSTimer alloc] initWithFireDate:[NSDate dateWithTimeIntervalSinceNow:0] 
                interval:10.0 
               target:self 
                selector:@selector(playPreventSleepSound) 
                userInfo:nil 
                repeats:YES]; 
    // We add this timer to the current run loop 
    NSRunLoop *runLoop = [NSRunLoop currentRunLoop]; 
    [runLoop addTimer:self.preventSleepTimer forMode:NSDefaultRunLoopMode]; 
} 

사용합니다.

- (void)stopPreventSleep { 
    [self.preventSleepTimer invalidate]; 
    self.preventSleepTimer = nil; 
} 

For More detail You can refer the Link Here.

1

이 라인. 하지만 앱이 이미 장치에 있으면 위의 게시물과 같이 preventSleepTimer 프레임 워크를 통해 잠금을 방지 할 수 있습니다.

장치가 잠겨 있으면 오류 메시지가 표시됩니다. 오류 : '/ Users/venkateswarlun/Library/Developer/Xcode/DerivedData/XXXXXX-celefkdlufzfpexcvbngfwhpwosr/빌드/제품/디버그 -iphoneos/XXXXXX.app/XXXXXX - 기기 잠금

관련 문제