2013-10-01 10 views
0

제 애플리케이션에서 GCD 전역 대기열을 사용하여 일부 작업을 수행하고 있습니다. 일반적으로 내 응용 프로그램은 백그라운드 모드에서 10 분 (GCD 잘 작동 및 @perfomselector) 실행됩니다. 그 후 아무것도 실행되지 않습니다.iOS 앱 일시 중지시 변수 설정

내 질문

  • 애플이 항상 응용 프로그램이 10 분의 백그라운드 모드에서 코드를 실행할 수 즉,있다?

  • 이 (계속) 응용 프로그램이이 10 분 후에 일시 중지 되었습니까?

  • 응용 프로그램이 일시 중단 될 때 변수를 설정하기 위해 가능한 모든 방법은?
  • 는 GCD의 상태를 확인할 수있는 방법이 있나요 (I 어떤 곳이 일시 중단 될 때 응용 프로그램이 알리지 않습니다 연구)인가요 (일시 중지되었거나하지 않음).

+0

설명서를 읽었습니까? 이치에 맞지 않았습니까? – Wain

+2

솔직히 말해서이 내용은 분명히 나와 있습니다. [Here] (https://developer.apple.com/library/ios/documentation/iphone/content/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html) – borrrden

+0

http : // www .raywenderlich.com/29948/backgrounding-for-ios –

답변

2

사과는 항상 응용 프로그램이 10 분 동안 백그라운드 모드에서 코드를 실행할 수 있도록 허용합니까?

-> 배경으로 전환중인 앱은 중요한 마지막 분 작업을 완료하는 데 추가 시간을 요청할 수 있습니다. 백그라운드 실행 시간을 요청하려면 UIApplication 클래스의 beginBackgroundTaskWithName : expirationHandler : 메서드를 호출하십시오. 앱 객체의 backgroundTimeRemaining 속성을 사용하여 사용 가능한 시간을 확인합니다.

이 (계속) 응용 프로그램이이 10 분 후에 일시 중지 되었습니까?

-> 10 분 같은 제한이 없다고 생각합니다. 이 장치는 백그라운드에서 작업을 수행하는 데 제한된 시간 만 제공합니다. ?> 아뇨 언제 앱이 배경에 있지만입니다 -

응용 프로그램이 일시 중단 될 때 변수를 설정하기 위해 가능한 모든 방법 (I 어떤 곳이 일시 중단 될 때 응용 프로그램이 알리지 않습니다 연구)

인가요 코드를 실행하지 않습니다. 시스템은 일시 중지 된 상태로 앱을 자동으로 이동하기 전에이를 알리지 않습니다. backgroundTimeRemaining 속성은 남은 시간에 일부 bg 작업을 수행하는 데 유용 할 수 있습니다.