2012-02-01 4 views
3

나는 정기적으로 데이터를 다운로드하는 앱을 가지고있다. (현재는 nstimer를 사용하고있다.) 내 앱을 실행하지 않고도 iOS에서 주기적으로이 작업을 수행 할 수 있습니까?앱을 실행하지 않고 iOS의 백그라운드 동기화가 가능합니까?

+2

사용자가 앱을 실행하지 않으면 왜 데이터를 다운로드해야하나요? –

+0

데이터가 alredy 인 경우 응용 프로그램이 더 빨리 시작됩니다. – DixieFlatline

+1

백그라운드 스레드에서 데이터를 가져오고 들어오는대로 사용자 인터페이스를 업데이트하십시오. – JeremyP

답변

4

아니요, 불가능합니다. 앱을 서비스처럼 취급 할 수 없습니다.

유일한 방법은 앱이 실행 중일 때입니다.

일부 앱은 백그라운드에서 실행 (예 : 사용자가 시작한 다음 홈 버튼을 누름) 할 수 있지만 정보 에서처럼 오디오 앱처럼 설정해야합니다.

<key>UIBackgroundModes</key><array><string>audio</string></array>

을하고 audioSession 활성화 (예를 들어, 노래를 재생)되어 있는지 확인 :이 추가 PLIST. 어쨌든 앞서 언급 한 방법을 사용하지 않는 것이 좋습니다. 고전적인 방법으로 백그라운드 스레드에서 다운로드를 실행합니다.

2

불가능하지 않습니다. 응용 프로그램을 시작해야합니다.

1

아니요, 불가능합니다. iOS는 개발자가 백그라운드에서 코드를 실행할 수 없으며 (VoIP 등 일부 예외가 있음) 또는 애플리케이션을 실행하지 않고도 코드를 실행할 수 있습니다.

+0

예를 들어 엔터프라이즈 애플리케이션에 엄청난 한계가있을 때 Apple이 iOS를 어떻게 배치했는지 알 수 없습니다 ... –

5

매우 구체적인 경우가 있습니다. 제가 이야기하는 매우 구체적인 경우는 잡지 또는 신문 앱입니다. 이를 통해 NewsstandKit을 사용하여 백그라운드에서 새로운 문제를 다운로드 할 수 있으므로 사용자는 다운로드를 기다리지 않고도 새로운 버전을 얻을 수 있습니다.

0

iCloud를 사용하여 다소 가능하다고 할 수 있습니까? 필자는 iCloud 관련 프로그래밍을 실제로 수행하지는 않았지만 저장된 게임이 자동으로 동기화되는 일부 게임을 사용합니다. 게임 시작 후 저장 게임을로드하면됩니다.

관련 문제