2013-12-13 2 views
7

내 앱이 일시 중지 될 때를 알고 싶습니다. 일정 시간 동안 활성화되지 않았거나 사용자가 종료 한 상태. 웹 소켓 연결을 닫아야하기 때문에이 작업이 필요합니다. 응용 프로그램이 백그라운드 상태에 있지만 연결을 유지하고 싶습니다.iOS : 앱 일시 중지시기를 알려주는 방법은 무엇입니까?

어떻게하면됩니까?

감사

편집 :이하지 않은 중복 질문, 다른 질문 앱이 더 이상 활성 상태 인 경우에 대해 원함, I 앱이 종료되었습니다 알고 싶습니다.

+2

@ dandan78 배경을 입력하기위한 용도로만 사용됩니다. 앱 일시 중지에 대한 알림이 필요합니다. –

답변

-1

AppDelegate.m 파일에서 사용자가 홈 버튼을 눌렀을 때 앱이 백그라운드로 이동하면이 메서드가 호출됩니다. 여기에서 연결을 유지할 수 있지만 백그라운드 작업, 연결이 영원히 살 수 없기 때문에 응용 프로그램은 백그라운드에서 남아있는 경우 푸시 알림 등)에 대한 업데이 트와 같은 날짜에 응용 프로그램을 유지하는 다른 방법이 있습니다.

- (void)applicationWillResignActive:(UIApplication *)application 
{ 
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 
} 

및이 방법을 때 응용 프로그램 호출 될가 종료됩니다 (멀티 태스킹에서 완전히 닫힘).

- (void)applicationWillTerminate:(UIApplication *)application 
{ 
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 
} 

이 방법으로 연결을 처리 할 수 ​​있습니다.

+0

그래, 고마워. 나는 이것을 시도하고 멋지게 작동합니다! –

+9

"Suspend"는 "Background"가 아닙니다. – Almo

+0

약간 혼란 스럽기 때문에 명확히 할 수 있습니까? 응용 프로그램이 백그라운드에서 오랫동안 iOS가 앱을 죽이면 applicationWillTerminate가 호출됩니까? 나는 백그라운드에서 다시 돌아 가면 백그라운드에서 10 분 이상 후에 다시 시작되는 앱을 가지고있다. –

3

또한

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(receiveSuspendNotification:) 
              name:UIApplicationWillResignActiveNotification 
              object:nil]; 

- (void) receiveSuspendNotification:(NSNotification*)notif 
{ 
} 

메소드가 불려가는 알림 관찰자를 추가 할 수 있으며 필요한 작업을 수행 할 수 있습니다.

+0

'NikosM.' 응답에서 메소드를 사용할 수있을 때 알림 센터에 알림 옵저버를 추가하는 이유는 무엇입니까? 다른 전화를 추가하는 것은 약간 중복 된 것 같습니다. – Popeye

+1

앱 대리인이 아닌 다른 곳에서 뭔가를하고 있다면 더 깔끔한 접근 방식으로 알립니다. – zekel

+0

http://stackoverflow.com/users/980097/popeye, 작동하지 않기 때문에. 2017 년이 시점에서 앱이 백그라운드로 이동했을 때 표시되지만 배경에 머문 후 * 몇 분 후에 일시 중지되지는 않습니다. –

-2

앱이 백그라운드에서 실행 중으로 등록되지 않은 경우 UIApplicationDidEnterBackgroundNotification을 받으면 앱이 RAM에서 일시 중지됩니다.

관련 문제