Hi all. My application attempts to connect to a webservice and sending, receiving and parsing this information can be time consuming. This isn't a problem until the application is about to enter the background. The given 5 seconds to complete tasks isn't enough time so i would like to run it in the background until its finished. It would not take more than 60 seconds to complete. Does anyone know how i could do this? The task is running on the main thread so could I beginBackgroundTaskWithExpirationHandler and wait until the main thread is finished executing? Though I would assume the process of entering the background is on the main thread and i would have an infinite loop. Help appreciated.