cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tony Leung (JIRA)" <>
Subject [jira] [Created] (CB-9936) iOS File Transfer not receiving Progress Event
Date Mon, 02 Nov 2015 18:25:27 GMT
Tony Leung created CB-9936:

             Summary: iOS File Transfer not receiving Progress Event
                 Key: CB-9936
             Project: Apache Cordova
          Issue Type: Bug
          Components: Plugin File Transfer
    Affects Versions: 1.3.0
         Environment: iOS
            Reporter: Tony Leung
            Priority: Minor

In CDVFileTransfer.m, download() method between line 447 to 462

    delegate.connection = [[NSURLConnection alloc] initWithRequest:req delegate:delegate startImmediately:NO];

    if (self.queue == nil) {
        self.queue = [[NSOperationQueue alloc] init];
    [delegate.connection setDelegateQueue:self.queue];

    @synchronized (activeTransfers) {
        activeTransfers[delegate.objectId] = delegate;
    // Downloads can take time
    // sending this to a new thread calling the download_async method
                   dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, (unsigned long)NULL),
                   ^(void) { [delegate.connection start];}

If I replaced it with the older version of the code, then it works.

    delegate.connection = [NSURLConnection connectionWithRequest:req delegate:delegate];
    if (activeTransfers == nil) {
        activeTransfers = [[NSMutableDictionary alloc] init];
    [activeTransfers setObject:delegate forKey:delegate.objectId];

In summary, if we don't use GCD to start the NSURLConnection, it works.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message