1
votes

I use alamofire in order to upload 30 mb zip file to server

here is my request

let configuration = URLSessionConfiguration.background(withIdentifier: "identifire.com")

    alamoFireManager = Alamofire.SessionManager(configuration: configuration)

let tempZipFilePath = UtilDirectory.tempZipPath.tweak()

    alamoFireManager.upload(URL(fileURLWithPath: tempZipFilePath),
                            to: deligate.url,
                            method: .post,
                            headers: headers)
        .uploadProgress(closure: {
            progress in
            print("Upload Progress: \(progress.fractionCompleted)")
        })
        .validate()
        .responseJSON {}

When request is starting I can see upload progress uploadProgress(closure:_) , but if I close the app uploading is paused.

I expect that after closing the app request has to finish executing without interrupt.

But why background upload request is stopping?

1
did u find the solution ?the monk
@ankit.tlp eventually noAleksey Timoshchenko
For me i was able to make the file upload the file to server in background, but not receive any progress update there after.the monk
I have run into the same problem... Though, I would say that (at least in my case) upload is finished successfully...It is only uploadProgress callback that is not executed.Whirlwind

1 Answers

0
votes

You have to use a background task. Your app still may get killed though. It's up to the OS. Take a look at this https://developer.apple.com/documentation/uikit/uiapplication/1623031-beginbackgroundtask

From the UIApplication docs:

Use your UIApplication object to do the following...Extend the execution of the app so that it can finish a task in the background (beginBackgroundTask(expirationHandler:), beginBackgroundTask(withName:expirationHandler:))