Upgrading from iOS 8 to iOS 9 does not update /apple-app-site-association for Universal Links

Originator:davidz
Number:rdar://22826286 Date Originated:2015-09-23
Status:Open Resolved:
Product:iOS Product Version:9.0.1
Classification: Reproducible:Sometimes
 
Summary:
The iOS 9 Universal Links feature requires an /apple-app-site-association file to be hosted on the webserver to be associated with the app. If the app is installed prior to upgrading the device to iOS 9, then the app/site association is not correctly updated after the upgrade, resulting in Universal Links not working.

The issue has been widely reported internally at Dropbox.

Steps to Reproduce:
1. Running iOS 8.4 on an iPad Air 2, I installed Dropbox 4.0, Yelp 10.2.1, Quip 4.3 from the App Store. I opened Dropbox once.
2. I performed an OTA upgrade to iOS 9.0.1.
3. I created a test page with the following links and tapped them in Mobile Safari. Dropbox and Yelp did not trigger Universal Links, but Quip did:
    - https://www.dropbox.com/s/terjr1q407u7xzu/3342.jpg
    - https://www.yelp.com/biz/a-tale-ahead-photography-pacifica
    - https://www.quip.com/ 
4. I uninstalled and reinstalled Dropbox, and Universal Links started working. I did the same for Yelp and it started working as well.


Expected Results:
I should not have to delete and reinstall an app to make Universal Links work. It should work immediately after upgrading to iOS 9.

Actual Results:
After upgrading to iOS 9, I had to delete and reinstall apps to trigger the /apple-app-site-association file to be re-downloaded and for the app and site to be associated.

Version:
iOS 9.0.1 (13A404)

Notes:
See attachment for current versions of Dropbox, Yelp, and Quip's apple-app-site-association JSON content.

Configuration:
iPad Air 2 A1566

Attachments:
'attachment.txt', 'aasa-dropbox', 'aasa-quip' and 'aasa-yelp' were successfully uploaded.

===
Decoded apple-app-site-association JSON content for Dropbox, Yelp, and Quip is as follows:

{
	"applinks": {
		"apps": [],
			"details": {
				"8KM394JM3R.com.getdropbox.Dropbox": {
					"paths": [
						"/s/*",
						"/sh/*",
						"/member_link/*",
						"/spri/*",
						"/l/s/*",
						"/l/sh/*",
						"/l/member_link/*",
						"/l/spri/*"
					]
				},
				"XGP696M5GC.com.dropbox.DropboxTest": {
					"paths": [
						"/s/*",
						"/sh/*",
						"/member_link/*",
						"/spri/*",
						"/l/s/*",
						"/l/sh/*",
						"/l/member_link/*",
						"/l/spri/*"
					]
				}
			}
	}
}

{
    "applinks": {
        "apps": [],
        "details": [
                {
                        "appID": "BAES6XU9E4.com.yelp.yelpiphone",
   	 		"paths": [ "/", "/home", "/biz/*", "/search", "/biz_photos/*", "/c/*", "/map/*", "/user_details", "/talk", "/talk/*", "/topic/*", "/events" ]	
	}
        ]
    },
    "webcredentials":{
    	"apps":[
     		 "BAES6XU9E4.com.yelp.yelpiphone"
   	 ]
    }
}

{
    "activitycontinuation": {
        "apps": [
            "FMRT79K8DG.com.quip.Quip",
            "N595V8ZZGS.org.backchannel.Docs"
        ]
    },
    "applinks": {
        "apps": [],
        "details": {
            "FMRT79K8DG.com.quip.Quip": {
                "paths": [
                    "/???????????",
                    "/????????????"
                ]
            },
            "N595V8ZZGS.org.backchannel.Docs": {
                "paths": [
                    "/???????????",
                    "/????????????"
                ]
            }
        }
    }
}

Note: Quip's signed JSON does not pass signature verification, but the JSON is well-formed.

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!