간단 & 빠른 답변, 아니요. 홈 버튼을 누른 후 1 시간 동안 타이머를 실행할 수 없습니다. 할 수있는 일은 사용자가 홈 버튼을 누른 다음 앱으로 다시 전환 할 때 발생하는 호출을 숙지하는 것입니다. 당신이 YES
에 Application does not run in background
키를 설정하는, 또는 장치가 멀티 태스킹을 지원하지 않는 경우 (즉, 아이팟 2 세대 터치)하면
// User taps your app icon first launch
application:didFinishLaunchingWithOptions:
applicationDidBecomeActive:
// User pushes home button
applicationWillResignActive:
applicationDidEnterBackground:
// User selects your app again
applicationWillEnterForeground:
applicationDidBecomeActive:
다음 :
이들은 (멀티 태스킹)을 받게됩니다 호출은 똑같은 동작이 이러한 메소드를 호출합니다.
// User taps your app icon first launch
application:didFinishLaunchingWithOptions:
applicationDidBecomeActive:
// User pushes home button
applicationDidEnterBackground:
applicationWillTerminate:
// User selects your app again
application:didFinishLaunchingWithOptions:
applicationDidBecomeActive:
OS가 메모리에 대한 응용 프로그램을 죽일하기로 결정하면, 당신을 죽일 당신을 깨워하지 않습니다, 당신은 applicationWillTerminate:
전화를받을 보장되지 않습니다 유의하시기 바랍니다.
나는 당신의 질문에 대한 두 가지 동기 생각할 수 :
1) 당신은 상태를 저장하고 싶은 applicationWillTerminate:
에서 그것을하고 싶어하지만, 호출되는 아니에요. 이 경우 나는 사용자가 홈 버튼을 눌렀을 때 두 경우 모두 호출되므로 applicationDidEnterBackground:
에 상태를 저장하도록 제안합니다.
2) 앱이 일정 기간 동안 비활성 상태 인 경우 데이터를 다시로드하려고합니다. 이 경우 applicationDidEnterBackground:
동안 현재 시간을 저장하고 applicationDidBecomeActive:
에 경과 된 시간을 확인하고 필요한 경우 다시로드하십시오.
호기심에서 '응용 프로그램이 백그라운드에서 실행되지 않음'을 'YES'로 설정하는 이유는 무엇입니까? – NJones
내가 말했듯이, 나는 웹 페이지에서 읽고 있는데 내 애플 리케이션이 웹 페이지에 최신 게시물을 반영하고 싶습니다. 동시에 앱을 자주 방문하면 데이터를 다시로드하지 않도록 상태를 유지하고 싶습니다. 사실 그것은 당신의 대답에서 포인트 넘버 2입니다. applicationDidEnterBackground :에 시간을 저장하려고합니다. – curious123