Thanks a lot for your prompt response here. :)
Say what? You’re creating 500 background sessions!?! That’s… to put it mildly… suboptimal.
We did go through the "factoids" you had mentioned here and that was indeed insightful. These high number of urlsession instances are created by the developers who make use of SAP Cloud Platform SDK for their iOS app development. We can surely inform them about such recommendations but as SDK, we really don't have any control on this aspect.
Most apps can get away with just one. In some limited situations it might make sense to create a few.
For most of the simple apps, a single instance can be used Agreed. But for larger/complicated enterprise apps, developers may end up creating a few. What would be a safe number of background urlsession instances (x) that an app could create and work with, without running into such issues from iOS ? x < 5?, x < 10?
Now, you could argue that URLSession should handle this better, and in that case you might file a bug about this
IMHO, an exception which mentions that resc limit has been exceeded might have been better than the current behavior where multiple didFinishDownloadingTo callbacks for a given session id, task id and file is noticed. We have already filed a bug with id : FB13956181