The general rules for networking in the background are given in Technote 2277 Networking and Multitasking. In short, if you can prevent your app from suspending then networking in the background works just like networking in the foreground. So, if your app is executing—because of a significant location change, for example—you can use any networking API you like.
The only gotcha here is that, depending on how your app was resumed in the background, you may have a very short amount of time to do your networking (seconds). You can extended that to something more reasonable (tens of seconds) using a UIApplication background task. In most cases that’ll be enough to get your networking operation done, but you must make sure to code your app to deal with the case where it isn’t sufficient.
Share and Enjoy
—
Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
let myEmail = "eskimo" + "1" + "@apple.com"