2014-11-15 1 views
0

나는 음악 앱을 개발했습니다. 그것을 테스트하는 동안 백그라운드에서 내 애플 리케이션에서 오디오 재생을 중지하는 스카 이프 전화가있어. 어떻게 처리 할 수 ​​있습니까? 나는이 행동을 이해하지 못한다. iOS 8.1에서 ipad를 사용하고 있습니다. 이것은 스카 이프 자체의 행동입니까?Skype가 전화를 받으면 iPad에서 오디오를 차단합니다.

답변

1

Skype가 VoIP 앱이며 iOS의 기본 동작은 수신 전화를받을 때 앱 실행이 일시적으로 비활성 상태가되기 때문입니다.

'어떻게 처리 할 수 ​​있습니까?'라는 의미가 확실하지 않습니다.
문제가 발생하지 않도록 할 수 있는지 묻는 경우 기본 iOS 동작이므로 수행 할 수 없습니다.

그러나 앱의 특정 기능을 중지/시작하기 만하면 (자동으로 음악 플레이어가 다시 시작되지 않으면 음악 플레이어를 다시 시작하는 등), 앱 대표 메서드 applicationWillResignActive을 사용하여이를 수행 할 수 있습니다. 응용 프로그램이 비활성 상태가 될 때 호출되며, 사용자에게 스카 이프 전화를 받았을 때 호출되고, 응용 프로그램이 다시 활성화 될 때 호출되는 applicationDidBecomeActive입니다. 위의 두 가지 위의 사과 문서에서

요점 :

applicationWillResignActive이 :

이 방법은 앱이 비활성 상태로 활성화 이동할 예정임을 알려이라고합니다. 일시적인 일시 중지 (수신 전화 통화 또는 SMS 메시지 등) 또는 사용자가 앱을 종료하고 백그라운드 상태로의 전환이 시작될 때 이러한 유형의 오류가 발생할 수 있습니다. 비활성 상태의 앱은 계속 실행되지만 들어오는 이벤트는 응답자에게 전달되지 않습니다.

이 방법을 사용하면 진행중인 작업을 일시 중지하고, 타이머를 비활성화하고, OpenGL ES 프레임 속도를 조절할 수 있습니다. 게임은이 방법을 사용하여 게임을 일시 중지해야합니다. 비활성 상태의 앱은 활성 상태 또는 백그라운드 상태로 전환하기를 기다리는 동안 최소한의 작업 만 수행해야합니다.

applicationDidBecome :

이 방법은 앱이 활성 상태로 비활성에서 이동 알려이라고합니다. 앱이 사용자 또는 시스템에 의해 실행 되었기 때문에 발생할 수 있습니다. 사용자가 앱을 임시로 비활성 상태로 보낸 중단 (수신 전화 또는 SMS 메시지)을 사용자가 무시하도록 선택하면 앱이 활성 상태로 돌아갈 수도 있습니다.

앱이 비활성 상태 일 때 일시 중지되었거나 아직 시작되지 않은 작업을 다시 시작하려면이 방법을 사용해야합니다. 예를 들어 타이머를 다시 시작하거나 OpenGL ES 프레임 속도를 조절할 수 있습니다. 앱이 백그라운드에서 이전에 있었던 경우 앱의 사용자 인터페이스를 새로 고침하는 데 사용할 수도 있습니다.

전체 문서는 여기에서 찾을 수 있습니다 : UIApplicationDelegate Protocol

관련 문제