Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- 리펙토링
- 클린 코드
- rxswift
- 스위프트
- scrollview
- swift documentation
- Human interface guide
- UITextView
- SWIFT
- Refactoring
- RxCocoa
- 애니메이션
- collectionview
- tableView
- ribs
- HIG
- MVVM
- swiftUI
- clean architecture
- combine
- ios
- Clean Code
- uiscrollview
- Xcode
- map
- Protocol
- UICollectionView
- 리팩토링
- Observable
- uitableview
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] WWDC2025 정리 - 백그라운드에서 작업하는 방법 4 (Request background runtime, beginBackgroundTask) 본문
WWDC 정리/WWDC 2025 정리
[iOS - swift] WWDC2025 정리 - 백그라운드에서 작업하는 방법 4 (Request background runtime, beginBackgroundTask)
jake-kim 2025. 8. 13. 01:08iOS 26의 BGContinuedProcessingTask
- 백그라운드에서 지속적으로 처리가 필요한 작업들에 사용
- 앱은 백그라운드 진입 후에도 시스템은 UI를 통해 진행 상황을 표시
ex) 앱에서 내보내기 설정 > 백그라운드 진입 시 상단에 진행 상태 표시해주는 `Journal` 앱
- 백그라운드에서 언제든 작업을 취소할 수도 있음

BGContinuedProcessingTask의 특징
- 명확한 사용자 행동으로 시작 (버튼, 클릭 등)
- 예) 파일 추출, sns 업로드
- 사용자는 작업이 자동으로 시작되리라 기대하지 않음
- BGContinuedProcessingTask으로 안되는 예) 백업, 사진 동기화
- 즉 예상하지 못하는 작업을 이 API에는 사용하면 안됨
BGContinuedProcessingTask 사용 방법
- 1. info.plist에서 작업 식별자를 추가
- Permitted background task scheduler identifiers 키 값으로 value에는 앱 bundle id로 추가

- 2. BGTaskScheduler를 사용하고 클로저 안에서 수행
- 만료되었을때 처리도 필요하여(아래에서 나올 예정) 아래처럼 shouldContinue라는 플래그를 사용

- 만료되었을때 처리인 setTaskCompleted(success:)를 반드시 호출해주어야함

- 3. UI 띄우기
- BGContinueProcessingTaskRequest 인스턴스의 파라미터에 id에는 info.plist에 입력한 bundle id 입력
- 백그라운드에서 사용자가 볼 제목인 title, subtitle을 입력

- 처리 전략 설정하고 BGTaskScheduler에 submit하면 완료

백그라운드 GPU
- 백그라운드에서도 GPU를 사용할 수 있는데 이것은 Xcode 프로젝트 설정에서 백그라운드 GPU 기능을 추가해주어야함

- 코드 레벨에서는 supportedResource로 체크한 후 reqruiedResources에 .gpu할당하여 사용

* 참고
'WWDC 정리 > WWDC 2025 정리' 카테고리의 다른 글
Comments