https://mfaani.com/posts/ios/foreground-vs-background-runtime/