2011-06-11 3 views
1

iPod touch 응용 프로그램을 실행하고 백그라운드로 이동하여 설정 응용 프로그램에서 장치 언어를 변경하고 해당 응용 프로그램을 포 그라운드로 가져 오십시오. 내 응용 프로그램이 다시 시작되고 백그라운드로 들어갔을 때 응용 프로그램을 종료 한 화면에 착륙하지 않습니다.응용 프로그램이 백그라운드 일 때 장치 언어 변경

언어가 변경되면 설정 응용 프로그램에서 KILL 신호가 전송 되니? 원하는 행동입니까?

답변

1

언어 전환으로 인해 앱이 종료 될 수 있다는 것을 알지 못했지만 충격적이지 않습니다. 그것은 사용자가 원하는 것을 얻는 매우 직접적인 방법입니다. 그러나 문제는 언어 변경이 아닙니다. 문제는 사용자가 종료 알림에 올바르게 응답하지 않는다는 것입니다. 배경에있을 때 언제든지 해지 될 수 있으며이를 처리하는 것이 귀하의 임무입니다.

응용 프로그램 대리인은 applicationWillTerminate:을 구현해야하며 그렇지 않은 경우 편리한 위치에서 을 관찰해야합니다. 이 정보를 받으면 재시작 당시의 위치로 다시 돌아갈 수 있도록 충분한 정보를 저장해야합니다. 가능한 한 사용자가 종료하지 않았 음을 사용자에게 알려야합니다. 주를 저장하는 가장 쉬운 장소는 일반적으로 NSUserDefaults이지만 원하는 모든 메커니즘을 사용할 수 있습니다.

응용 프로그램 다시 시작 처리는 우수한 iOS 응용 프로그램을 "충분 함"에서 구분하는 것 중 하나입니다.

+0

아니요. 심지어는 applicationWillTerminate에 대한 콜백을받지 못합니다. – Abhinav

+0

죄송합니다, iPhone3 습관. iOS 4의 경우 'applicationDidEnterBackground :'에서이 작업을 수행해야합니다. –

관련 문제