Web-To-Native Handoff broken on iOS 9

Originator:oliver.drobnik
Number:rdar://22204950 Date Originated:9 August 2015
Status:Closed Resolved:4 October 2015
Product:iOS Product Version:iOS 9.0 (13A4325c)
Classification:Serious Bug Reproducible:Always
 
Summary:
For our app I implemented Web-To-Native Handoff. This works perfectly on iOS 8, but on  iOS 9 only Safari is suggested to accept the handoff.

Steps to Reproduce:
1) Have correctly constructed and signed apple-app-site-association file on your server
2) Implement the app delegate method for handling handoff
3) Install the app on an iOS 8 and an iOS 9 device
4) On a Mac open a web page belonging to your domain
5) Wake the iOS 8 and the iOS 9 device by pushing the power button

Expected Results:
- in the bottom left corner you should see your native app's icon
- if you pull this icon upwards the handoff should occur and your app show the corresponding page, regardless off iOS version
- if the app is not installed then - of course - Safari shows and you can browse the same page in Mobile Safari

Actual Results:
- on iOS 8 the expected behavior occurs
- on iOS 9 only Safari shows for accepting handoff, even if you have the native app installed

on iOS 9 the following lines appear in the console log:

Aug  3 16:35:13 Olivers-iPhone-6 SpringBoard[4828] <Notice>: -[UABestAppSuggestionManager notifyBestAppChanged:type:options:bundleIdentifier:activityType:dynamicIdentifier:when:confidence:deviceName:deviceIdentifier:deviceType:] D07B3CCE-B179-4619-8336-FB5299457BB1 UserActivity com.apple.mobilesafari/NSUserActivityTypeBrowsingWeb opts={
    } when=2015-08-03 14:35:13 +0000 confidence=1 from=Oliver's iPad Air/3BF1804F-4200-4893-A739-A1BB043F6DBC (UABestAppSuggestionManager.m #319)

Version:
iOS 9.0 (13A4325c)

Notes:
Judging from the UABestAppSuggestionManager notice, the code to determine the suitable app for continuing the activity has been changed. iOS 9 determines the "best app suggestion" to always be Mobile Safari. And this is incorrect.

Configuration:
iPhone 6

Comments

Fixed in iOS 9.1, closed.

By oliver.drobnik at Oct. 4, 2015, 5:33 a.m. (reply...)

Issue Still Exist on iOS 9

The Issues still exist on iOS 9. I have tested on iOS 9.1.0 and iOS 9.2.0. It works on iOS 8 but not iOS 9 onwards. Lot of other developers are also facing the same. Stackoverflow links below: http://stackoverflow.com/questions/32234555/handoff-not-working-from-web-to-native-app http://stackoverflow.com/a/32289829/2599359

By ashish.vijay296 at June 22, 2016, 9:27 a.m. (reply...)

See a photo demonstrating the issue here: http://www.cocoanetics.com/2015/08/radar-web-to-native-handoff-broken/

By oliver.drobnik at Aug. 9, 2015, 1:47 p.m. (reply...)

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!