2012-10-12 2 views
1

이것은 앱이 백그라운드에서 돌아 왔을 때 실제로 일어나는 일에 대한 다소 일반적인 질문입니다. 나는 하루 종일 사용하지 않은 애플 리케이션을 열 때 그가 애플 리케이션을 닫기 전에 가지고 있던 것과 동일한 시각을 보일 것이라고 말하는 사용자가있다. ("닫힌다"는 것은 그가 홈 버튼을 누르는 것을 의미한다. 보류하지 말고 십자 버튼을 눌러 앱을 완전히 종료하십시오.)배경에서 복귀 할 때 앱이 새로 고침 될 때 제어하기

오랜 시간이 지난 후에 앱이 백그라운드에서 복원되면 안드로이드 이후에 페이스 북이나 Gmail 앱을 열 때와 같이 완전히 다시로드됩니다 (스플래시 화면과 모든 것을 표시합니다). 얼마 동안 사용하지 않았습니다.

제 질문은 앱이 백그라운드로 보내진 후 경과 된 시간에 어딘가에 수표를 구현하고 특정 임계 값을 초과하거나 iOS에서 처리해야하는 모든 것을 다시 설정해야합니까? 그 자체가 ... 물론 사용자가 백그라운드로 앱을 보냈고 2 분 후에 돌아 오면 새로 고침하고 싶지 않습니다.

답변

2

타임 스탬프를 설정하여 appdelegate 메소드에서 처리해야하는 경우가 있습니다. iPhone에서 멀티 태스킹이 활성화되어 있기 때문에 동일한 화면에서 다시 시작됩니다. 사용자가 앱을 죽이기로 결정할 때까지 앱이 백그라운드에서 오래있을 수 있습니다.

위임 방법 중 일부는 당신이 당신이 할 수있는 멀티 태스킹 사용하지 않으려면

- (void)applicationWillResignActive:(UIApplication *)iApplication; 
- (void)applicationDidEnterBackground:(UIApplication *)iApplication; 
- (void)applicationWillEnterForeground:(UIApplication *)iApplication; 
- (void)applicationDidBecomeActive:(UIApplication *)iApplication; 

입니다 해당 응용 프로그램을 plist에 UIApplicationExistsOnSuspend 키를 설정하여. 하지만 사용자가 집 버튼을 누르면 즉시 종료됩니다.

+0

그게 내가 수동으로 해야하는지, 내가 조정할 수있는 몇 가지 기본 설정이 있는지 궁금 해서요, 왜냐하면 페이스 북과 Gmail 애플 리케이션의 경우, 시간이 지나면 앱을 다시 열면 스플래시 화면이 표시되어 실제로이 동작을 제어하는 ​​기본 제공 설정이 있는지 궁금합니다. 임계 값 타임 스탬프가 통과되었을 때 스플래시 화면에 대한 코드를 표시 할 수 있음을 알고 있지만 쉽게 벗어날 수있는 방법이 있는지 궁금해합니다. – minovsky

+0

불행히도 없습니다. 다음은 약간 다른 질문과 답변입니다. http://stackoverflow.com/questions/4282097/enabling-and-disabling-multitasking-within-application – iDev

0

백그라운드에서 일정 기간 후에 앱을 새로 고쳐야할지 여부는 전적으로 귀하와 앱의 요구에 달려 있습니다. 앱이 OS에 의해 죽지 않고 몇 주 동안 백그라운드에 앉아있을 수 있습니다. 아니면 백그라운드로 들어가서 몇 초 만에 죽을 수도 있습니다. 그것은 모두 실행중인 다른 응용 프로그램에 필요한 자원에 달려 있습니다.

예를 들어 앱을 24 시간 후에 다시 시작하게하는 로직을 원한다면,이를 처리 할 코드는 사용자가 작성해야합니다. 앱이 백그라운드로 들어가면 타임 스탬프를 저장합니다. 포 그라운드로 돌아 가면 현재 시간을 저장된 타임 스탬프와 비교하십시오. 충분한 시간이 지나면 사용자에게 보여주고 싶은 원하는 상태를 반영하도록 UI를 업데이트해야합니다.

+0

그게 내가 수동으로해야한다면, 내가 생각하는 몇 가지 기본 설정이 있는지 궁금 해서요. 페이스 북과 gmail 앱의 경우 시간이 지나면 앱을 다시 열었 기 때문에 스플래시 화면이 표시되어 실제로이 동작을 제어 할 수있는 기본 설정이 있는지 궁금해하기 때문입니다. 임계 값 타임 스탬프가 통과되었을 때 스플래시 화면을 표시하는 코드를 가질 수 있다는 것을 알고 있지만 쉽게 벗어날 수있는 방법이 있는지 궁금해합니다. – minovsky

+0

아니요, 앱이 있어야 함을 나타내는 방법이 없습니다. 특정 기간 후에 종료 됨. 당신은 앱이 즉시 종료되어야한다는 것을 나타내거나 백그라운드에서 영원히 앉아 있거나 OS가 당신을 도중에 결정했기 때문에 죽을 필요가있을 때까지 앉아있게됩니다. – rmaddy

관련 문제