2012-07-21 5 views
0

저는 iPhone에서 응용 프로그램을 개발 중입니다. 내가 서버 측에서 정기적으로 일부 정보를 업데이트하는 데 사용하는 앱의 기능이 있습니다.ios 응용 프로그램을 닫은 후에도 프로세스를 실행하는 방법

앱을 닫을 때 업데이트 프로세스가 계속 실행될 수있는 방법이 있습니까 (메모리 어딘가에있을 수 있습니다)? 그런 다음 앱을 다시 시작할 때 정보를 복원 할 수 있습니까?

앱이 배경에있을 때이 링크에서 할 수있는 일에 한계가

답변

2

무엇을 의미하는 경우 : 사용자가 내 응용 프로그램을 죽이면

가 가능 코드를 계속 실행?

그러면 대답은 아니요입니다.

그러나 당신이 의미하는 경우 :

내 응용 프로그램이 백그라운드에있는 동안 코드를 계속 실행 할 수 있습니까?

그런 다음 UIBackgroundTaskIdentifier (설명서 here)를 사용할 수 있습니다.

This post

내가 사용자가 응용 프로그램을 닫을 경우 백그라운드에서 실행되고 있지 그래서 아직 점심을 먹었다 아니에요, 그것은이 될 것이 무엇을 의미하는지 u는 응답을 꽤 잘

0

: Background Execution and Multitasking

앱의 지원 배경 작업해야 배경 실행의 일부 유형의

지원 선언은 그것들을 사용하는 앱에 의해 미리 선언된다. 앱은 Info.plist 파일을 사용하여 서비스에 대한 지원을 선언합니다. Info.plist 파일에 UIBackgroundModes 키를 추가하고 그 값을 다음 문자열 중 하나 이상을 포함하는 배열로 설정하십시오.

오디오 - 앱이 백그라운드에서 사용자에게 가청 콘텐츠를 재생합니다. (이 콘텐츠에는 AirPlay를 사용하여 스트리밍 오디오 또는 동영상 콘텐츠가 포함됩니다.)

위치 - 백그라운드에서 실행 중일 때도 앱은 위치 정보를 사용자에게 알려줍니다.

voip-app는 사용자가 인터넷 연결을 사용하여 전화를 걸 수있는 기능을 제공합니다.

뉴스 스탠드 -이 앱은 잡지 나 신문의 콘텐츠를 백그라운드로 다운로드하여 처리하는 뉴스 스탠드 앱입니다.

외부 액세서리 - 앱은 외부 액세서리 프레임 워크를 통해 정기적 인 일정으로 업데이트를 제공해야하는 하드웨어 액세서리와 함께 작동합니다.

블루투스 중앙 -이 앱은 CoreBluetooth 프레임 워크를 통해 정기적 인 일정으로 업데이트를 제공해야하는 블루투스 액세서리와 함께 작동합니다.

각 값을 사용하면 관련 이벤트에 응답하기 위해 앱이 적절한 시간에 깨어나야한다는 것을 알 수 있습니다. 예를 들어 음악 재생을 시작한 다음 배경으로 이동하는 앱은 오디오 출력 버퍼를 채우기 위해 실행 시간이 필요합니다. 오디오 키를 포함하면 시스템 프레임 워크가 적절한 간격으로 앱을 계속 재생하고 필요한 콜백을 수행해야한다고 알립니다. 앱에이 키가 포함되어 있지 않으면 앱이 백그라운드로 이동할 때 앱에서 재생중인 오디오가 중지됩니다.

+0

10 배를 설명하지만. 그것은 완전히 종료됩니다. 응용 프로그램이 점심을 먹지 않은 상태에서 업데이트 프로세스를 계속 실행할 수있는 방법이 있습니까? –

+0

앱이 일시 중지 상태로 전환되면 위의 백그라운드 모드 (오디오, 위치, VoIP 등)를 제외하고 더 이상 코드를 실행할 수 없습니다. –

0

시도해보십시오. 그 방법은 ASIHTTPRequest입니다.

+0

백그라운드에서 현재 실행중인 네트워크 작업을 완료 할 수는 있지만 다시 시작할 수는 없습니다. 배경. ASIHTTPRequest는 더 이상 작성자가 지원하지 않으며 좋은 이유에서 다른 솔루션을 사용할 것을 권장합니다. –

관련 문제