2011-11-22 3 views
2

첫 아이폰 앱을 썼고, 앱 스토어로 가져갔습니다. 나중에 실제 장치에서는 발생하지만 내 에뮬레이터에서는 발생하지 않는 버그를 발견했습니다. 나는 (배경에서 실행되는 응용 프로그램을 방지하기 위해 plist를 변경 한) 수정을했지만, 그 이유를 실제로 이해하지 못합니다.iPhone 앱이 백그라운드에서 계속 작동하는 이유는 무엇입니까?

내 앱을 사용하면 사운드 바이트를 녹음 할 수 있지만 녹음 중에는 iPhone 홈 버튼을 사용하여 앱을 배경으로 이동할 수 있으며 전화를 다시 시작하지 않으면 녹음을 영원히 계속할 수 있습니다 또는 앱이 충돌하지 않습니다.

내가 읽은 모든 것에서의 인상은, 당신이 이것을하고 싶을 때 배경 오디오를 특별히 요구해야 할 때 일어나는 일이 아니었지만, 이제는 내가 특별히 사용을 중지하도록 요구해야한다는 생각이 든다.

아무에게도 설명 할 수 없습니까?

+0

백그라운드에서 녹화를하거나 백그라운드에서 앱을 허용하지 않는 것은 무슨 문제입니까? –

+0

내 문제는 내가 그것을 할 수있는 권한을 요청하지 않았을 때 배경에 기록하는 이유를 이해할 수 없다는 것입니다. – Michael

답변

1

iOS 앱 수명주기는 Apple의 iOS App Programming Guide에 설명되어 있습니다.

앱에 일시 중지되기 전에 데이터를 저장하고 달리 실행할 필요가없는 것을 중지 할 수있는 기회가 주어집니다. beginBackgroundTaskWithExpirationHandler:을 사용하여 추가 작업을 요청할 수 있습니다.

앱이 백그라운드로 들어갈 때 "정상적인 동작"을 중지하려면 앱 상태 전환을 감지하고 직접 중지해야합니다.

+0

배경에서 원하는만큼 오디오를 녹음 할 수 있지만 사용 권한을 추가해야하는 특수한 경우는 오디오를 재생할 수 있습니까? – Michael

+0

일시 중지되기 전에 정리하는 데 약 5 초 밖에 걸리지 않습니다. 그러나 오디오를 재생하고 싶다면,'Info.plist' 파일에서'UIBackgroundModes' 키를'audio'로 설정하고 장기 실행 백그라운드 작업이 될 수 있습니다. – trojanfoe

관련 문제