Functionality to open app using custom URL from within a webpage appears broken

Originator:devandanger
Number:rdar://22541203 Date Originated:02-Sep-2015 01:54 PM
Status:Duplicate Resolved:
Product:iOS Product Version:9.0
Classification:UI/Usability Reproducible:Always
 
Summary:
Provide a descriptive summary of the issue.

Steps to Reproduce:
A native app is installed on the device that is programmed to be able to open a custom URL scheme.

Expected Results:
Clicking a URL scheme from a web page should open up the native app configured with the custom URL scheme.

We’ve tried several ways to use this custom URL scheme.
1. Using window.location: 
The javascript code looks like this:
window.location = ‘<custom-protocol>://XYZ’
 
2. Using an iFrame
The javascript code (using jQuery) looks like this:
$('<iframe/>')
.attr('src', '<custom-protocol>://XYZ')
.attr('style', 'display:none')
.appendTo('body'); 
 

Actual Results:
In iOS9 it won’t open the native app.

Regression:
Prior to iOS 9
1. Using window.location: This resulted in the native app showing up right away (no popups).
2. Using an iFrame: This resulted in the native app showing up right away (no popups).

In iOS 9:
 
1. Using window.location: This resulted in an alert popping up that asks a user whether they would like to open the app within the native app. The two buttons on the popup are “Open” & Cancel”. Tapping “Open” opens up the native app. Tapping “Cancel” dismisses the popup.
2. Using an iFrame: Nothing happens at all. No popups or app opening.
 
Notes:
1. Both approaches (window.location & iFrame) work when running within a Chrome browser on iOS 9, but with the same popup as mentioned above.
2. We’ve tried adding a whitelist (LSApplicationQueriesSchemes) within the app, but get the same behavior as described above for iOS 9.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!