아이폰 다운로드 백그라운드

나는 그것을 사용 하지 않았지만, https://github.com/MugunthKumar/MKNetworkKit는 백그라운드 다운로드를 처리 말한다. 시스템이 일시 중단 된 동안 앱을 종료 한 경우 시스템은 백그라운드에서 앱을 다시 시작한 것입니다. 시작 시간 설정의 일부로, 이전 처럼 동일한 세션 식별자를 사용 하 여 백그라운드 세션 (목록 1 참조)을 다시 생성 하 여 시스템이 백그라운드 다운로드 작업을 세션과 다시 연결 하도록 허용 합니다. 이 작업을 수행 하면 사용자 또는 시스템에서 앱을 시작 했는지 백그라운드 세션을 시작할 준비가 됩니다. 앱이 다시 시작 되 면 일련의 이벤트는 앱 일시 중단 처리의 앞부분에서 설명한 것 처럼 응용 프로그램을 중단 하 고 재개 한 것과 동일 합니다. 또한이 대리자 메서드는 최종 매개 변수로 완료 처리기를 받습니다. 앱 대리자의 속성 또는 Urlsession다운로더를 구현 하는 클래스의 경우와 같이 앱에 적합 한 위치에이 처리기를 즉시 저장 합니다. 목록 3에서이 완료 처리기 라는 응용 프로그램 대리자 속성에 저장 됩니다. 백그라운드 세션에서는 실제 전송이 앱의 프로세스와는 별개의 프로세스로 수행 됩니다. 앱의 프로세스를 다시 시작 하는 것은 상당히 비용이 많이 들기 때문에 몇 가지 기능을 사용할 수 없으므로 다음과 같은 제한 사항이 있습니다.

URLSessionConfiguration 인스턴스를 사용 하 여 URLSession 인스턴스를 만듭니다. 백그라운드 전송에서 이벤트를 수신 하는 대리자를 제공 합니다. ICloud 드라이브 및/또는 iCloud 백업이 활성화 되어 있습니까? 그렇다면, 그것은 아마 무슨 일이 든. 백그라운드에서 새로 고칠 수 있도록 설정한 앱을 확인할 수도 있습니다. 참조: 설정 > 일반 > 백그라운드 앱 새로 고침이 작업은 대부분의 시간 동안 제대로 작동 하는 반면, 때로는 앱이 기능을 남용 하 고 강제로 백그라운드에서 항상 실행 되도록 할 수 있습니다. 이것은 거 대 한 배터리 드레인 또는 느린 장치로 이어질 수 있습니다. 클래스 메서드 배경을 사용 하 여 배경 URLSessionConfiguration 개체 만들기 (식별자:) 앱 내에서 고유한 세션 식별자를 제공 하는 URLSession입니다. 대부분의 앱에는 몇 개의 백그라운드 세션 (일반적으로 하나)만 필요 하기 때문에 동적으로 생성 된 식별자가 아니라 식별자에 대 한 고정 문자열을 사용할 수 있습니다. 식별자는 전역적으로 고유할 필요는 없습니다. 참고: 최신 iOS 소프트웨어 업데이트의 자동 다운로드는 불가피 한 것으로 보입니다.

iOS 소프트웨어 업데이트는 백그라운드에서 자동으로 다운로드 한 다음 설치 하 라는 메시지를 표시 합니다. 희망 아래 지침에 따라 “모바일 데이터를 사용 하 여” 스위치를 해제 하는 것이 불가피 하 게 와이파이에 다운로드, 그러나 그것은 확인 하기 어려운이 때문에 Apple 지원 웹 사이트에 명확한 정보가 없습니다. 작업이 완료 되 고 앱이 백그라운드에 있을 때 시스템에서 앱을 깨울 수 있도록 하려면 세션 속성을 true (기본값)로 설정 해야 합니다.