Combine was revealed in WWDC 2019 and is a “Unified, declarative API for processing values over time”.
“Instead of a few operators that do a lot, we provide a lot of operators that do a little, making them easier to understand” — Tony Parker, Foundation Team
The WWDC2019 keynote: https://developer.apple.com/videos/play/wwdc2019/722/
Combine requires targeting for at-least iOS13 and isn’t available on 12 runtime and below. …
Here’s a short summary of this WWDC2020 talk about app terminations in iOS: https://developer.apple.com/videos/play/wwdc2020/10078/
iOS14 now provides a new API: MetricKit that gives specific reasons why our app is getting killed:
The last one “NormalExitCount” is when a user explicitly terminated your app via app switcher.
We can get programmatic access to stack trace and other diagnostic data after a crash occurred:
MXCrashDiagnostic also gives Watchdog reports if a 20 second time limit has been exceeded on a lifecycle operation such as didFinishLaunchingWithOptions, due to a deadlock or infinite loop.
If running code in the background, there are CPU rate limits imposed. An “Energy Exception Report” is generated when these are exceeded and can be found in Organizer, or through MXCPUExceptionDiagnostic. If limits are exceeded by an app with background processing, for a certain time, iOS will kill the app. …
I see a lot of people posting screenshots of their podcast player in their Instagram stories— showing off what podcast episode they are listening to. I found an app called: “Podcast Video Maker” that shares a short clip of any podcast episode along with a neon sign style animation (an audiogram). Here’s a tutorial on how to use it.