Update from the front of WaveDeck:
We used applicationDidEnterBackground in the applicationDidEnterBackground deletion poorly: ask all background operations to finish using beginBackgroundTaskWithExpirationHandler and save the main runloop running inside applicationDidEnterBackground .
Thus, the applicationDidEnterBackground method completed only after completion of all background operations, whether the application was activated again or not.
Thus, it is obvious that the OS was unable to “instantly reduce” the application and appeared for a while on the black screen after returning from the background state - when the delegate function applicationDidEnterBackground ended.
source share