2016-10-13 11 views
0

나는 잠자기 타이머가있는 앱을 가지고 있는데, 사용자가 일정 시간 동안 앱을 선택하면 앱이 일시 중지됩니다. 기본적으로 내가 할 것은 :앱이 절대로 잠자기 상태가되지 않도록 Idle timer가 활성화되지 않았습니다.

  1. 를 사용하여 응용 프로그램의 시작이 코드는 응용 프로그램 타이머 비활성화 :

    [[UIApplication sharedApplication]를 setIdleTimerDisabled : YES];

  2. 슬립 타이머가 만료하지 않는 경우 :

    [UIApplication sharedApplication]가 setIdleTimerDisabled [: NO];

사용자 기본 설정의 자동 잠금 값이 올라 오면 화면이 어두워지고 앱이 잠든 것입니다.

잘 작동했지만 더 이상 어떠한 이유로 든 작동하지 않았습니다. 문제 해결을하고 있으며 setIdleTimerDisabled와 관련된 명령이 아직 절대로 실행되지 않는다고 주석 처리했습니다.

idleTimer의 상태를 ([UIApplication sharedApplication] .isIdleTimerDisabled)로 테스트하면 IdleTimer가 실제로 비활성화되어 있지 않음을 알 수 있습니다.

다른 어떤 장치가 잠자기하는 것을 방지 할 수 있습니까? 앱이 어떤 상호 작용없이 남겨질 때. 유용 할 경우 장치가 9.3.3을 실행 중입니다.

답변

0

답변을 찾은 것 같습니다. 사실 두 가지 문제가있었습니다. 1. Xcode를 실행하고 구축하는 한 앱은 절대 절대로 잠자기에 들어 가지 않습니다 (제 생각 엔). 2. 내 애플 그래서 장치가 잠겨있을 때 여전히 작동 컨트롤과 오디오를 보장하기 위해이 같은 일을하고 있어요 소리를했습니다

audioSession = [AVAudioSession sharedInstance]; 
    NSError *setCategoryError = nil; 
     [audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError]; 

이 그러나 수면에서 장치를 방지 - 소리가 계속 재생됩니다. 화면이 잠기면 그래서 나는 지금 무엇을, 나는 그러나 나는 아직 파악되지 않은 또 다른 문제가 발생

[audioSession setCategory:AVAudioSessionCategoryAmbient error:&setCategoryError]; 

...

에 audioSession의 카테고리를 변경