incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shazron Abdullah (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CB-853) Change custom URL scheme handling in iOS
Date Fri, 01 Jun 2012 23:16:22 GMT

     [ https://issues.apache.org/jira/browse/CB-853?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Shazron Abdullah updated CB-853:
--------------------------------

    Description: 
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 *all* launches, the handleOpenURL function is called, 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



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



    
> 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 *all* launches, the handleOpenURL function is called, 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

        

Mime
View raw message