응용 프로그램이 백그라운드 일 때 비동기 연결을 보낼 수 있는지 알고 싶습니다. 그 이유는 응용 프로그램이 포 그라운드에 있지 않더라도 위치가 변경 될 때마다 원격 위치의 서버를 업데이트하기 위해 사용자의 위치 (코어 위치에서 가져 오기)를 전송해야하기 때문입니다.응용 프로그램이 백그라운드 일 때 NSURLConnection
이에 대한 허가를 설정해야합니까? 앱이 백그라운드에있을 때 애플이 앱 처리 연결을 거부합니까?
미리 감사드립니다.
응용 프로그램이 백그라운드 일 때 비동기 연결을 보낼 수 있는지 알고 싶습니다. 그 이유는 응용 프로그램이 포 그라운드에 있지 않더라도 위치가 변경 될 때마다 원격 위치의 서버를 업데이트하기 위해 사용자의 위치 (코어 위치에서 가져 오기)를 전송해야하기 때문입니다.응용 프로그램이 백그라운드 일 때 NSURLConnection
이에 대한 허가를 설정해야합니까? 앱이 백그라운드에있을 때 애플이 앱 처리 연결을 거부합니까?
미리 감사드립니다.
iOS는 멀티 태스킹 API를 제공합니다. 즉, 앱이 백그라운드에 있어도 일부 API에 액세스 할 수 있습니다. 이 서비스는 -
그래서 당신은 확실히 응용 프로그램이 포 그라운드에 있지 않을 때 CoreLocation
를 사용하여 위치 업데이트를 보낼 수 있습니다.
이 링크 - iOS multitasking은 백그라운드에서 앱을 사용할 때 서비스를 시작하는 코드가 있습니다. 경우 x
시간을 UIApplication:beginBackgroundTaskWithExpirationHandler:
NSTimer
을 지정 단계별 지침은 그것이 경우에 x
큰 작품을 잘입니다 않는 UIApplication:backgroundTimeRemaining
보다 작은 백그라운드 작업이 종료되지 않도록 남은 시간이 없기 전에 위치 관리자를 다시 활성화 (및 비활성화)해야합니다. 위치는 세 가지 허용되는 유형의 백그라운드 실행 중 하나이기 때문에 작동합니다.SOURCE - 여기, 사과 문서에서 How do I get a background location update every n minutes in my iOS application?
실제로 응용 프로그램을 필요로하지 않는 대부분의 백그라운드에서 사용자의 위치를 추적하는 방법은 여러 가지가 있습니다 백그라운드에서 계속 실행 :
- 중요한 변경 위치 서비스 (권장)
,210-foreground 전용 위치 서비스
는- 배경 위치 서비스
그러나 당신이 할 수있는 유일한 가능한 것들로, 요청을 보낼 수 있습니다 : - 오디오 -location -voip -newsstand - 액세서리 & blutooth 연결
그래서 내 위치를 모두 저장할 수 있고 앱이 포 그라운드로 다시 돌아 오면 NSURLConnection과 함께 보낼 수 있습니다.
핵심 위치 대리인 메서드를 통해 NSURLConnections를 보내시겠습니까? – CainaSouza
예, 가능합니다. –
테스트 해 보셨습니까? 아래 답변은 불가능하다고 말합니다. @Zerto가 제안한 것처럼 할 수 있다고 생각 했었습니다. 즉, CoreData로 모든 값을 저장하고 앱이 포 그라운드에있을 때 연결을 보내려고합니다. – CainaSouza