본문 바로가기
iOS/RxSwift

[RxSwift] Rx를 이용한 백그라운드 감지

by 최지철 2024. 6. 14.
728x90
반응형

 

Rx를 이용해 UIApplication 이벤트 감지

제가 생각한 방법은 NotificationCenter와 RxSwift를 결합하는 것 입니다.

아래는 예제입니다. 

import UIKit
import RxSwift
import RxCocoa

class ViewController: UIViewController {

    let disposeBag = DisposeBag()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 포어그라운드로 전환될 때
        NotificationCenter.default.rx.notification(UIApplication.willEnterForegroundNotification)
            .subscribe(onNext: { _ in
                print("앱이 포어그라운드로 전환되었습니다.")
                // 필요한 작업 수행
            })
            .disposed(by: disposeBag)
        
        // 백그라운드로 전환될 때
        NotificationCenter.default.rx.notification(UIApplication.didEnterBackgroundNotification)
            .subscribe(onNext: { _ in
                print("앱이 백그라운드로 전환되었습니다.")
                // 필요한 작업 수행
            })
            .disposed(by: disposeBag)
    }
}
728x90
반응형