I am looking to use a mechanism, like Android’s WorkManager, in iOS. I want to submit work to be done, have it run when the network is connected. I also need to see the work in the queue, try a certain number of times, see what the errors were encountered and cancel/re-queue the work.
I saw this post on queueing work in iOS for when the network becomes available, which recommends OperationQueue. This post also mentions OperationQueue. I have also seen this post on features within URLSession to run in the background which persist.
After the work is done, I need it to update an entity in CoreData as well. All of this I do currently in Android with WorkManager. I can see the full queue, the ones that failed, control the things which need to be in place for them to run (network), restart them or remove them.




