Ad

Our DNA is written in Swift
Jump

Radar: Web-To-Native Handoff broken

For our prod.ly app and website I implemented all 3 features that need a site association file. One of these is the ability to look at a page from the website on your Mac and then handoff to your native app on your iOS device.

Unfortunately this appears to be broken in iOS 9. Doing the same on an iPhone running iOS 8 this works perfectly. Filed as rdar://22204950 and on Open Radar.

Update Oct 4th: Fixed in iOS 9.1.

Web-To-Native Handoff broken on iOS 9

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] : -[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)

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.

This photo shows the test: I’ve opened a prod.ly product page on my Mac. Have a look at the handoff icons showing on my test devices.

iOS 9 Handoff Issue


Categories: Bug Reports

1 Comment »

Trackbacks

  1. Integrating your Website + iOS App | Cocoanetics

Leave a Comment