Non-Blocking Long Running Tasks on iPhone

iPhone and iPad applications containing long running tasks - such as HTTP requests or data processing - that block the main thread are annoying and often appear sluggish.

The following snippet fixes this issue: