Shazron Abdullah created CB-853:
-----------------------------------

             Summary: Change custom URL scheme handling in iOS
                 Key: CB-853
                 URL: https://issues.apache.org/jira/browse/CB-853
             Project: Apache Cordova
          Issue Type: Bug
          Components: iOS
            Reporter: Shazron Abdullah
            Assignee: Shazron Abdullah
             Fix For: 2.0.0


Don't know about the other platforms, but there are two ways it is handled in 
iOS right now, we need to consolidate.

Summary:
The url scheme passed to the app is a form of inter-process communication, 
kinda like how we do gap:// urls, but this is up to the app developer on how 
they marshal/unmarshal the url into something they can use.

Right now in iOS, it is a bit confusing - there are two ways that the URL is 
handled and passed off to the UIWebView.

 1. On *first* app startup, the URL sent is passed off to the UIWebView by 
setting a global variable - *window.invokeString*. The URL is passed off 
untouched (see: 
https://github.com/apache/incubator-cordova-ios/blob/master/Cordova-based%20Application/Classes/AppDelegate.m#L67)

 2. On *subsequent* launches, i.e. resume from background (multi-tasking), the 
handleOpenURL function is called instead, and this in turn calls the global 
JavaScript function in the UIWebView *window.handleOpenURL()* and this is 
passed the URL, untouched (see: 
https://github.com/apache/incubator-cordova-ios/blob/master/Cordova-based%20Application/Classes/AppDelegate.m#L126)

Apple Doc reference: 
http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedAppTricks/AdvancedAppTricks.html#//apple_ref/doc/uid/TP40007072-CH7-SW21



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to