Notice
Recent Posts
Recent Comments
Link
관리 메뉴

김종권의 iOS 앱 개발 알아가기

[iOS - swift] WWDC2025 정리 - 백그라운드에서 작업하는 방법 3 (Request background runtime, beginBackgroundTask) 본문

WWDC 정리/WWDC 2025 정리

[iOS - swift] WWDC2025 정리 - 백그라운드에서 작업하는 방법 3 (Request background runtime, beginBackgroundTask)

jake-kim 2025. 8. 6. 01:59

Request background runtime

  • 백그라운드에서 특정 처리를 하고싶은 경우 사용
    • 백그라운드에서 생성된 데이터를 바탕으로 ML을 생성하는 등의 처리를 하고 싶은 경우 사용
    • 백그라운드에서 DB를 클리어하고싶은 경우 사용

  • 등록 방법
    • AppDelegate에서 forTaskWithIDentifier로 등록

  • closure부분에 런타임에 호출할 내용만 작성해주면 완료

  • 아래처럼 request를 만들고 submit하면 동작이됨
    • 배터리 소모를 최소화하고 앱의 배터리 사용량도 줄어들게 하고싶은 경우?
    • 아래처럼 requiresNetworkConnectivityrequiresExternalPower 파라미터에 값을 세팅하여 섬세한 처리가 가능
    • ex) 작업이 지연에 민감하지 않은 경우? > 충전 중이면서 네트워크에 연결됐을 때만 작업이 실행되도록 설정

beginBackgroundTask

  • 백그라운드 작업 시작 및 종료 API
  • 백그라운드로 전환되었을때 복구가 어려운 작업을 마무리할 수 있게 도와주는 것

ex) DB에 관한 처리를 진행하다가 작업이 중단되면 파일을 닫는 처리가 누락될 수 있는데 이 API를 통해서 닫는 처리를 수월하게 할 수 있음

  • 만약 아래처럼 export.saveState()로 상태를 안전하게 저장해야하는경우?

  • 아래처럼 beginBackgroundTask로 감싸면 시스템에 중요한 작업이 진행 중임을 알릴 수 있고 중단을 피할 수 있음

 

* 참고

- https://developer.apple.com/kr/videos/play/wwdc2025/227/

Comments