The system class URLSession has the ability to download files from the background. That's likely the cleanest way to download your files. When you create a URLSession for background downloading then the system will notify you when the download is complete, even if it has to relaunch your app to do so.
You should be able to search on "URLSession background download Task" to learn more. There are a number of steps, and there are quite a few tutorials online explaining how to do it.
I don't know if AlamoFire exposes this ability or not.
EDIT:
It seems that AlamoFire does indeed support background downloading. See this link:
AlamoFire Download in Background Session