Reputation: 406
I know it's been asked before, and I've tried everything I can find here and in the Apple forums and in various how-to websites, but I still missing something, and I'm at my wit's end. I hope someone can spot a mistake somewhere.
I’m working with XCode 7.3.1 and iOS 9.3.2 on the iPhone 6S.
Member Center App IDs ID: com.hotelplanner.hotelplanner
App ID has Assoc. Domains enabled
Development Provisioning Profile with Assoc. Domains enabled iOS Team Provisioning Profile: com.hotelplanner.hotelplanner
My selected Debug Provisioning Profile in XCode Build Settings matches the one with App Domains enabled in the member center.
Xcode Capabilities Associated Domains Applinks:www.hotelplanner.com
Xcode entitlements
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:www.hotelplanner.com</string>
</array>
</dict>
</plist>
Curl download of apple-app-site-association Titan:app nancysmithwp$ curl -v https://www.hotelplanner.com/.well-known/apple-app-site-association * Trying 69.56.156.14... * Connected to www.hotelplanner.com (69.56.156.14) port 443 (#0) * TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 * Server certificate: *.hotelplanner.com * Server certificate: Symantec Class 3 Secure Server CA - G4 * Server certificate: VeriSign Class 3 Public Primary Certification Authority - G5
> GET /.well-known/apple-app-site-association HTTP/1.1
> Host: www.hotelplanner.com
> User-Agent: curl/7.43.0
> Accept: *
>
< HTTP/1.1 200 OK
< Content-Type: application/json
< Last-Modified: Wed, 29 Jun 2016 14:05:46 GMT
< Accept-Ranges: bytes
< ETag: "f35d6255fd2d11:0"
< Vary: Accept-Encoding,User-Agent
< Server: HOTELPLANNER.COM
< P3P: CP="NOI DSP COR LAW NID CUR ADMa OUR DELa IND PHY ONL UNI PUR COM NAV STA"
< Date: Wed, 29 Jun 2016 17:24:51 GMT
< Content-Length: 169
<
{
"applinks": {
"apps": [],
"details": [
{
"appID": "M57RZA2QX5.com.hotelplanner.hotelplanner",
"paths":[ "/Hotels" ]
}
]
}
}
I’ve set my iOS Deployment Target to 9.0 so should not need it signed.
The validation tool at https://search.developer.apple.com/appsearch-validation-tool, given the url www.hotelplanner.com/Hotels/2446-in-Nassau-Bahamas.html says app site association file passed. Deep link failed with ‘Could not extract required information for deep links.’
The same link in notes always opens in Safari. A long press on the link gives me no options.
myAppDelegate has application:continueUserActivity:restorationHandler implemented.
-(BOOL) application:(UIApplication*) application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray * _Nullable))restorationHandler{
if (userActivity.activityType == NSUserActivityTypeBrowsingWeb){
NSLog(@"continueUserActivity");
}
return NO;
}
There are no errors in the console when I launch the app on my device.
Edited to add:
I implemented webcredentials to see if I could get any more insight, and I get an error in the callback that www.hotelplanner.com isn't in my entitlements, but it is there, and the target checkbox for it is set. Also, if I leave the first parameter NULL, so that it uses the domain from my entitlement file, I get the error 'No domain provided.'
Upvotes: 6
Views: 3140
Reputation: 406
I finally filed my first technical support assistance request with Apple and was able to get this resolved. Under Code Signing, the entries under Any SDK were empty. I deleted these entries and everything works like a charm.
Upvotes: 2
Reputation: 468
I have same problem with your situation and I solved. App Search API Validation Tool(https://search.developer.apple.com/appsearch-validation-tool) from apple, I got ACTION REQUIRED Could not extract required information for deep links. Learn how to implement the recommended in Deep Link but it works.
change "paths":[ "/Hotels" ] to "paths":[ "/Hotels/*" ].
I hope it works.
Upvotes: 0
Reputation: 36660
I had a similar issue in the past, which appeared to be an XCode bug. I had been using the same device to test builds on prior to implementing universal links, and once I implemented them, they did not work. By uninstalling the app & reinstalling it, I was then able to get the links to work.
My assumption is that the link is created in the OS upon installation of the app.
Upvotes: 1