You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "William Wong (JIRA)" <ji...@apache.org> on 2013/01/10 04:28:14 UTC

[jira] [Created] (CB-2183) [iOS] FileTransfer.didReceiveResponse may not return NSHTTPURLResponse

William Wong created CB-2183:
--------------------------------

             Summary: [iOS] FileTransfer.didReceiveResponse may not return NSHTTPURLResponse
                 Key: CB-2183
                 URL: https://issues.apache.org/jira/browse/CB-2183
             Project: Apache Cordova
          Issue Type: Bug
          Components: iOS
    Affects Versions: 2.2.0
         Environment: Tested on iOS 5.1 and 6.0
            Reporter: William Wong
            Assignee: Shazron Abdullah
            Priority: Critical


When FileTransfer.download() is downloading a file from file:///, NSURLConnection did not return with NSHTTPURLResponse. This will fail for apps that copy files from www/, e.g. apps that initialize its database from a pre-built cache packaged in IPA.

In CB-1600 (fixed in 2.2.0), the fix assumes all response must be NSHTTPURLResponse. So when FileTransfer.download() is downloading from a file:/// URL (e.g. copying file from www/ folder to Documents/), FileTransfer assumed the download operation failed and returned 403.

Tested if we comment out CB-1600, downloading from file:/// works again.

We need to find out a better fix instead of commenting out CB-1600.

According to http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/URLLoadingSystem/URLLoadingSystem.html#//apple_ref/doc/uid/10000165i, URL of file:/// is supported.

You can test FileTransfer.download() by calling it with "encodeURI(document.location.href)" as the "source" parameter.

--
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