[ 
https://issues.apache.org/jira/browse/CB-9485?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14726330#comment-14726330
 ] 

Shazron Abdullah commented on CB-9485:
--------------------------------------

May be related to CB-9279.

> processOpenURL shortens long URLs with ellipsis
> -----------------------------------------------
>
>                 Key: CB-9485
>                 URL: https://issues.apache.org/jira/browse/CB-9485
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS
>    Affects Versions: 3.7.0
>         Environment: iOS
>            Reporter: Tom Brückner
>              Labels: cordova-ios-4.0.x, processOpenURL
>
> I'm building a hybrid app and wanted to use the openProcessURL() mechanism to 
> transfer data from the native side to the webapp. The data consists of a 
> rather large string.
> Here I noticed, that this URL will get shortened using an ellipsis (...) and 
> thus not transfered correctly to the webapp.
> I tracked the problem down to its root cause. The problem is that NSURL 
> automatically shortens URLs if you are just converting it into a string. This 
> "feature" is also described here:
> http://stackoverflow.com/questions/30764851/nsurl-urlwithstring-is-shortening-very-long-strings-with-an-ellipsis-crea
> Cordova iOS uses this kind of direct string conversion before the URL is 
> handed over to the native side. In Cordova 3.7.0 (which I'm using), this 
> happens in CDVViewController.m (processOpenURL). In the latest Cordova 
> development branch, the same happens in CDVHandleOpenURL.m (handleOpenURL).
> In both cases, the errorneous conversion / shortening is a side-effect of the 
> call to [NSString stringWithFormat], where the NSURL is handed over as a 
> string. This causes ellipsis generation.
> As described in the stack overflow question linked above, the problem does 
> not occur if the parts of the URL (e.g. the path or the query) are converted 
> seperately, and I can confirm that.
> To fix the problem, you can replace
> NSString* jsString = [NSString stringWithFormat:@"if (typeof handleOpenURL 
> === 'function') { handleOpenURL(\"%@\");}", url];
> with
> NSString* jsString = [NSString stringWithFormat:@"if (typeof handleOpenURL 
> === 'function') { handleOpenURL(\"%@\");}", url.absoluteString];
> The .absoluteString retrieves the unaltered URL, this patch worked for me.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to