본문 바로가기
iOS/설명

[iOS] Local Notification은 suspended에서 동작할까

by Sky Titan 2022. 5. 30.
728x90

 문득 Local Notification을 앱이 suspended 상태로 전환되기 직전에 center에 request들을 추가해서 scheduling 해놓으면 동작할까라는 의문이 생겼다.

 

 원래 Push Notification은 앱의 상태와 상관없이 동작해야하는게 맞기 때문에 동작은 당연히 할거라고 생각했는데 suspended 상태에서 동작하는지 background상태에서 동작하는지 명확히 확인하고 싶어서 테스트를 해보았고 결론은 'suspended에서 동작한다' 였다.

 

func applicationDidEnterBackground(_ application: UIApplication) {
        var time: TimeInterval = 0
        for _ in 0 ..< 10 {
            let content = UNMutableNotificationContent()
            content.title = "test"
            content.sound = .default
            content.body = "body"
            time += 3
            let trigger = UNTimeIntervalNotificationTrigger(timeInterval: time, repeats: false)
            let request = UNNotificationRequest(identifier: "noti test \(time)", content: content, trigger: trigger)
            UNUserNotificationCenter.current().add(request) { error in
                print("\(error == nil)")
            }
        }
    }

 앱이 백그라운드 상태로 들어갔을 때 총 10개의 notification을 3초간격으로 트리거시키는 코드를 작성했다.

 

 보다시피 Suspended 상태에서 push가 동작하는 것을 알 수 있었다.

728x90

댓글