I've been doing some thorough investigations into setting up a solid background download process. Here are some of the gotchas I stumbled upon and wanted to capture:
- Only download and upload tasks are allowed to run in the background (no data tasks)
- Once a download task completes, your app will have to move that task from its temporary location to a permament location (or process the data somehow); The temporary file will be deleted once the
URLSession:downloadTask:didFinishDownloadingToURL:
delegate method returns.
- If your app is suspended, it will be re-launched whenever a background task completes