Since iOS has a standard download functionality that basically every app uses we decided to also go with that way. The standard functionality had an integrated background mode which we wanted to make use of.
When using the background mode it was not possible to stop the download. We were able to stop it in our UI so that the user could work again but it was still downloaded in the background of the app. After the download finished the download abortion was triggered and the downloaded content was deleted. So basically when aborting a download it downloaded the whole package and then deleted it again.
When working on a device with small memory this lead to big issues like unexpected app crashed because the background mode also needed a lot of memory.
Our solution was to divide the big download into chunks and implemented our own logic for the download which was not that hard but the background mode handling of iOS is still a bit weird. Also working with big files on a tablet is really not that easy since you ran into memory issues quite fast.
Comments