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
- uiscrollview
- collectionview
- UICollectionView
- RxCocoa
- uitableview
- 리펙토링
- Protocol
- clean architecture
- MVVM
- HIG
- Observable
- Clean Code
- SWIFT
- combine
- rxswift
- Refactoring
- scrollview
- swiftUI
- map
- ios
- swift documentation
- tableView
- Human interface guide
- 애니메이션
- 클린 코드
- 리팩토링
- ribs
- UITextView
- Xcode
- 스위프트
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] WWDC2025 정리 - 백그라운드에서 작업하는 방법 2 (background) 본문
WWDC 정리/WWDC 2025 정리
[iOS - swift] WWDC2025 정리 - 백그라운드에서 작업하는 방법 2 (background)
jake-kim 2025. 7. 30. 01:20백그라운드 처리를 할때 고려하는것
- 백그라운드에서 처리할 때 프로세스 입장에서 고려하는 것들
- 배터리 생명주기
- 공유 자원 (Memory, CPU, 네트워크 대역폭, 저전력 모드, 적은 데이터 모드)
ex) 공유 자원 예시 - 포그라운드 관점
- 백그라운드에 너무 많은 자원을 사용하면 비효율적으로 처리가 될 뿐 아니라 포그라운드 경험과도 충돌되므로 백그라운드에 있는것들 종료할 수 있음
- 때문에 백그라운드 작업을 최소화하여 메모리 사용량을 줄여야함
- 또한 사용자가 저전력 모드를 키는 성격을 고려하여 사용자 관점에서 생각하며 설계해야함
애플에서 권고하는 백그라운드 처리 방향
- 효율성, 최소성, 탄력성, 신중함, 적응성

- 백그라운드 작업을 한다는 것은 런타임 기회가 생길 때마다 점진적 진행이 가능해야함
- (시스템 조건과 우선순위를 이해하고 적응할수록 작업 성공률은 더욱 높아짐)
- 작업은 작고 가볍게 유지할 것
- 필요 사항은 명확히 전달해야할 것
백그라운드 작업을 할 때 체크리스트
- 이 작업은 누가 시작했는가?
- 명시적으로 시작된 작업인가? 아니면 나중에 실행해도 되는 선택적 작업인가?
- 작업 소요 시간은 얼마나 되는가?
- 작업은 앱 상태나 최신도에 중요한가?
- 이 작업은 사용자의 동의나 입력이 필요한가? (필요하면 백그라운드 런타임은 적절하지 않음)
Background API 1) BGAppRefreshTask - 새로고침에 사용
- BGAppRefreshTask API
- 새로고침에 사용 > 서버에서 조용히 콘텐츠를 불러오는 용도
- 자주 사용하는 앱 일수록 작업이 예약될 확률이 높아짐 (시스템에서 빈도수가 많은 앱 위주로 우선순위를 정함)

- SwiftUI 코드: .backgroundTask를 사용하여 실행
- 앱이 백그라운드일 때 시스템은 해당 클로저를 호출함

Background API 2) Background Push Notification
- 서버에서 새 콘텐츠 알림을 보낼때, 시스템이 적절한 시점에 앱을 깨워 콘텐츠를 가져오게함
- BGAppRefreshTask와는 다르게 데이터를 직접 요청하는 게 아니라 업데이트가 푸시되는 형식
- 새로운 원격 콘텐츠가 있다는 신호로 씀
- 1) 새로운 원격 콘텐츠가 있다는 신호
- 2) 낮은 우선순위 작업이므로 과부하와 배터리 소모를 최소화함
- 3) 사용자가 앱을 종료하면 시스템은 그 의도를 존중하여 앱이 다시 실행되기 전까지는 알림을 전달하지 않음
* 참고
'WWDC 정리 > WWDC 2025 정리' 카테고리의 다른 글
Comments