[ https://issues.apache.org/jira/browse/CB-7606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14359246#comment-14359246 ]
Shazron Abdullah commented on CB-7606: -------------------------------------- I re-tested it using cordova-cli 4.3.0 which contains cordova-ios 3.8.0, and it is working with a cold start, and warm start. Here is my updated test case. {code} cordova create CB7606 cb7606.test CB7606 cd CB7606 cordova platform add ios open -a Xcode platforms/ios {code} Add your URL handler in Resources/Info.plist (Open as -> Source Code, add within the <dict> at the end): {code} <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLName</key> <string>myscheme</string> <key>CFBundleURLSchemes</key> <array> <string>myscheme</string> </array> </dict> </array> {code} Add this at the top of the Staging/www/js/index.js file in Xcode Project Navigator: {code} function handleOpenURL(url) { setTimeout(function() { alert(url); }, 500); } {code} *First we test warm start:* 1. Launch the app on device using Xcode 2. Press the Home button to put the app in the background 3. In Mobile Safari, enter the url "myscheme://warm" in the Location bar 4. Select the "Go" button on the keyboard 5. Wait until the app launches, and the alert should show *Next we test cold start:* 1. Double press the Home button to show the app switcher 2. Kill the CB7606 app by flipping the card upwards 3. In Mobile Safari, enter the url "myscheme://warm" in the Location bar 4. Select the "Go" button on the keyboard 5. Wait until the app launches, and the alert should show > handleOpenURL handler firing more than necessary > ------------------------------------------------ > > Key: CB-7606 > URL: https://issues.apache.org/jira/browse/CB-7606 > Project: Apache Cordova > Issue Type: Bug > Components: iOS > Affects Versions: 3.5.0 > Reporter: Paul Kane > Assignee: Shazron Abdullah > Fix For: 3.8.0 > > > I'm not an Obj-C or Cordova programmer so bear with me. > Let's say my app is running. Then I hop over to my mail app and click on a > link (myapp://blahBlahBlah) that should open up my app. This works fine, the > app opens, my own URL handler (in javascript) takes over, etc. > However in Obj-C the view controller is -- incorrectly, I believe -- storing > that scheme data (blahBlahBlah) in self.openURL (so that it can be picked up > later in processOpenURL function, called during webView initialization). > This isn't normally a problem, except when you move to a new page > (window.href = "/new_page"), the webView initialization runs again and picks > up the old (already-acted-upon) openURL variable. (it's then set to nil, so > that it doesn't get acted upon a third time, fourth time, etc...). > I might have some details wrong, but it should be fairly easy to walk through > with a project-wide search for "openurl". Just seems like a slightly wrong > logic-flow, which unfortunately is interfering with my app. -- 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