2011-03-09 5 views
1

주위를 돌아다녀 본다면 배경 서비스의 유일한 유형은 오디오, VoIP 및 위치 서비스라고 생각할 수 있습니다. 따라서 서버와 통신하고 싶다면 푸시 버튼을 사용해야합니다. 알림. 즉 배지는 푸시 알림에만 사용됩니다.iPhone : 백그라운드에서 서비스 실행

업데이트 : 5 분마다 서버의 업데이트를 확인하고 싶습니다. 따라서 장치가 서버를 확인하고 서버가 장치를 확인하는 것이 아닙니다. 나는 전자 우편이보기다는 것을 가정한다. 서버를 폴링합니다.

감사합니다 사이먼

+0

달성하려는 목표는 무엇입니까? 또한 푸시 알림은 "서버와 통신하는 장치"가 아닌 "장치와 통신하는 서버"라고 생각합니다. 푸시 알림에는 메시지, 소리 및 사용자 지정 사용자 데이터가있을 수도 있습니다. – wpearse

+0

장치가 백그라운드에서 서버와 통신 할 수 있습니까? 난 그냥 밀어 넣기 알림 설정의 혼란없이 데이터를 교환하는 방법을 생각하고 – Burf2000

+0

다시, 우리는 더 자세한 내용이 필요하다고 생각 ... 당신은 서버에 데이터를 보내거나 서버에서 데이터를 수신하고 있습니까? 교환을 유발하는 요인은 무엇입니까? – wpearse

답변

2

당신은 여러 옵션이 있습니다

  • 푸시 알림
    이 배터리 및 장치 리소스에 대한 가장 친절을; 하지만 알림 시스템의 서버 측 구현이 필요합니다. --- 당신이 현재 찾고있는 것이 아닌, 즉각적인 통지 및 네트워크 손실 처리와 관련하여 확실히 "최상의"솔루션 일 것입니다. 백그라운드에서 앱을 실행


  • 백그라운드에서 실행하고 응용 프로그램이 오랫동안 실행할 수 있다는 등 ... 그러나, guranteed되지 않으며, 새로운 데이터 서버를 계속 확인 iOS의 프로세스 관리자가 앱을 잠자기 상태로 만들거나 예기치 않게 종료 할 수 있기 때문입니다. --- 아마도 당신이 찾고있는 것에 더 가까워지고 기본적인 테스트를 위해 일할 수도 있습니다. 그러나 아주 견실하지 않다.

  • 는 멀티 태스킹
    지원이 분명히을 할 수있는 "최고"방법입니다. 멀티 태스킹 지원을 구현하고 iOS가 트래픽이 감지 될 때마다 애플리케이션을 깨우게하십시오. 이것은 "voip"백그라운드 모드를 사용하여 수행 할 수 있습니다.

+0

나는 멀티 태스킹에 대한 연구를해야 할 것입니다. 대부분의 앱은 푸시 알림을 사용합니까? 예 : 게임 – Burf2000

+0

정말 원하는 일에 달려 있습니다. 예를 들어 인스턴트 메신저 앱을 제공하고 중앙 서버에서 연결을 관리하도록 설정 한 경우 푸시 알림은 새 데이터를 "폴링"하는 장치에서 실행되는 코드가 필요 없기 때문에 푸시 알림을 사용하는 것이 좋습니다. 멀티 태스킹은 기본적으로 iOS가 새로운 데이터를 사용할 수 있거나 다른 일이 발생하면 앱을 "호출"하도록합니다. 게임의 경우 일반적으로 푸시 알림만으로 충분합니다. – BastiBen

+4

포인트 2와 3은 옳지 않습니다 : (2) 백그라운드에서 앱을 실행할 수는 없지만, OS가 사용자를 죽이기 전에 백그라운드 처리 시간을 최대 10 분까지 요청할 수 있습니다 그것을 닫습니다. (3) 멀티 태스킹은 오디오, GPS 및 VoIP의 세 가지 유형 중 하나에 대해서만 구현할 수 있습니다. VOIP는 영구 소켓이 필요하기 때문에 PITA입니다 (현재이 방법을 내부 프로젝트에 사용하고 있습니다). 앱이 세 가지 앱 유형 중 하나 이상으로 표시되고 앱 *이 해당 유형의 백그라운드 멀티 태스킹을 사용하지 않는 경우 Apple은 앱 스토어에서이를 거부합니다. – wpearse

3

푸시 알림은 최상의 선택입니다. 클라이언트가 5 분마다 업데이트를 확인하도록하는 대신 서버가 알고 있어야하는 업데이트가있을 때 클라이언트에게 알려야합니다.

사용자를 괴롭히는 지 여부는 업데이트를 얼마나 자주 전송하는지에 따라 다릅니다. iOS의 알림은 상당히 방해가되므로 사용하지 마십시오.

관련 문제