본문 바로가기

나의 플랫폼/iOS

[iOS] 백그라운드, 포그라운드 확인

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


iOS는 전혀 App이 Background 인지 Foreground 인지 지원 알려주는 함수가 있다.


AppDelegate.swift를 보시면




func applicationDidEnterBackground(_ application: UIApplication) {
}
func applicationWillEnterForeground(_ application: UIApplication) {

}


위 두 함수를 통해서 파악을 할 수 있다!

하지만 이건 AppDelegate 인데, ViewController에서 어떻게 콜백을 받냐??
구글링 해보면 여러가지가 있는데요.

그중에서 전 NotificationCenter를 이용하면 아주 쉽게 콜백을 받을 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
        
    NotificationCenter.default.addObserver(
    self,
    selector: #selector(type(of: self).handleNoti(noti:)),
    name: .UIApplicationDidEnterBackground,
    object: nil)
}
    
override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
        
    NotificationCenter.default.removeObserver(self)
}
 
func handleNoti(noti: Notification) {
    print("Handlining Noti")
}
cs
selector로 콜백 받고자 하는 함수를 정의 하구요.
name은 NotificationCenter에서 UIApplicationDidEnterBackground가 기본 정의 되어 있으니
호출 해서 사용하시면 됩니다.

참 쉽조잉~
참고하세요.



>