Since the app was killed prior to performing the notification action, I expect the app to be killed/terminated after calling completionHandler().
Why do you expect that? Nothing in the documentation (either for notifications or for the other things that launch an app into the background) actually says that.
The OS keeps its own counsel about when to kill background apps. Maybe your app got killed earlier due to memory pressure, but now after handling the notification response there happens to be less memory pressure. Or maybe the OS figures the user may want to resume your app soon and keeps it around a little longer. Or maybe it prioritizes background apps alphabetically according to height. It doesn’t really matter because you can’t do anything about it. Just make sure your app behaves correctly in all cases.
Topic:
App & System Services
SubTopic:
Core OS
Tags: