Combine was revealed in WWDC 2019 and is a “Unified, declarative API for processing values over time”.

  • Focus on using Generics in order to reduce amount of boilerplate code.
  • Write common generic algorithms about asynchronous behaviors only once but they will apply to many types of asynchronous operations.
  • Core properties of Combine: Generic, Type safe, Composition first, Request driven.
  • Consists of: Publishers, Subscribers and Operators.

“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:

Image for post

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:

Image for post

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.

Image for post

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.

  1. Download “Podcast Video Maker” on the app store or play store.
  2. Search for your favourite podcast, and select an episode of it.
  3. Play the episode like in a regular podcast player. It works in the background — when your phone is put to sleep. …

About

Alexei: App maker, interested in many topics.

Follow me for summaries of top-selling business books. My programming career book on Amazon: “Technology Stories - 125 Secrets for a Programming Career”

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store