[
https://issues.apache.org/jira/browse/CB-2190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Leif Ullman updated CB-2190:
----------------------------
Attachment: CDVFileTransfer.m
CDVFileTransfer.h
Proposed fix. Add a UIBackgroundTaskIdentifier as a property of
CDVFileTransfer.h. Also kick off upload to background (using
beginBackgroundTaskWithExpiration) if using chunkedMode. Finally end the
background task in the end of the connectionDidFinishLoading method. This
appears to work for me in several test scenarios when kicking off multiple
large uploads at once (around 10-20mb each), then sending the application to
the background.
> FileTransfer does not request more time than the 5 second limit when placed
> in background.
> ------------------------------------------------------------------------------------------
>
> Key: CB-2190
> URL: https://issues.apache.org/jira/browse/CB-2190
> Project: Apache Cordova
> Issue Type: Improvement
> Components: iOS
> Affects Versions: 2.2.0
> Environment: iOS 6.0.1, Cordova 2.2.0.
> Reporter: Leif Ullman
> Assignee: Shazron Abdullah
> Attachments: CDVFileTransfer.h, CDVFileTransfer.m
>
>
> I've been running into an issue using FileTransfer on iOS that cropped up as
> part of my upgrade to Cordova 2.2. Previously I had been on PhoneGap 1.2 (a
> long time between upgrades I know). When using the 1.2 version, I could
> start a filetransfer upload (using sample code from here:
> http://docs.phonegap.com/en/2.2.0/cordova_media_capture_capture.md.html#Capture)
> and it would continue to run if I returned to the home screen or if I locked
> the device. Now it appears that suspending the app will cause a
> FileTransferError to occur with error code 3 and error message "The request
> timed out".
> After trading some emails with Shazron, he pointed out that the limit to
> finish up background tasks is 5 seconds. If the task will take longer, the
> app has to request more time -- and FileTransfer does not do this currently
> (although the CDVLocalStorage plugin in onResignActive does:
> https://github.com/apache/cordova-ios/blob/master/CordovaLib/Classes/CDVLocalStorage.m#L378
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira