If a URLSessionDataTask is waiting for connectivity and the app get's killed or suspended for some reason will the OS complete the task when the device connects to internet and relaunch the app in background to notify the appropriate delegate methods?
I couldn't find an answer for this is the apple documentation.
Can anyone point me to the right documentation or give me some insights into the "waitsForConnectivity" behaviour?
Data tasks don't run in the background, period. Only upload and download tasks do. So no, if your app gets killed or suspended, the request will never happen.
(Okay, pedantically, upload tasks are subclasses of data tasks, so that's not strictly true, but close enough.)