iOS GCD completion block not called when dispatching async twice I have a very weird situation in GCD in my code, and here’s a minimum reproducible code: