IOS – Will Apple reject an app with “background fetch” which is used to upload a photos

app-store-connectiosios-appstore

Looks like this is the right place to ask.

Basically I'm gonna to build an app which, while suspended periodically uploads photos to server (just like Google Photos uploads new photos to their backend while the app is in background).

I'm thinking of using Background Fetch to get notified of a moment to check if sync is required and to upload any photos if so.

The question is will apple reject the app?

My concern here is that according to the specs Background Fetch is intended to fetch small amount of data from the network while I'm gonna to use it like in the opposite direction – to upload relatively big amount of data.

Probably someone had similar experience.

It's like a different question, however if this approach doesn't work, could anyone bring the light on what an appropriate solution could be? Google got approved with their photos anyway so there should be a way (yes, I'm not Google but hopefully there is a solution for ordinary developer as well).

Best Answer

Background Fetch only allows you to download data and the process exit if the transfer time is superior to 30 seconds. There are limited things you can do while the app is in Background mode : Background Execution

If you want to upload your photos in the background you'll need to use background transfer service, but once the task is finished the app will not upload more data. This tutorial explains how to download a file without the application in the foreground but you can use the same logic to send data : iOS 7 SDK: Background Transfer Service