Posts

Post marked as solved
1 Replies
3.9k Views
Universal links into our app currently only works on URL's into our demo and staging environments but not our Production one. So for instance, a link into app.myCompany.com/events/1 doesn't work but app.myCompany-staging.com/events/1 does. I reviewed the configurations between the environments and they look the same, so I'm a bit perplexed at to why this may be happening. I checked the associated domains and the entitlements configurations in the XCode project and they look fine and point to the correct domains: language stringapplinks:*.myCompany-staging.com/string stringapplinks:*.myCompany.com/string stringapplinks:*.myCompany-demo.com/string The app association files between staging and production seem the same too, so there shouldn't be a configuration issue there: language { "applinks": { "apps":[], "details":[ { "appID":"teamID.bundleId", "paths":["/ios/auth", "/event_checkin_landing_page", "/events/*", "/career_fairs/*", "/conversations/*", "/jobs/*", "/schools/*", "/meetings/*/video", "/video_sessions/*", "/interview_schedules/*/public_invite"] } ] } } Branch’s ASAA validator (branch.io/resources/aasa-validator) also determines these files as being ok Apple's Link Validation tool - https://search.developer.apple.com/appsearch-validation-tool does seem to return a missing error to the application though. But it returns the error for both staging and production, which makes this feel like a bit of a false positive. Link to Application Action Required Could not extract required information for application links. Error: no apps associated with url The biggest clue seems to be looking at the device logs when the app is installed on a fresh device. It seems that whenever the app is installed, the operating system will download the ASAA file from each of the associated domains and cache them in their own CDN (and probably on device). This seems to work fine for demo and staging related URL’s, but for some reason doesn’t work for the US and UK production ones. Here's an example of a success message I'm getting in the console versus a failure: Success: Successfully got credential for challenge NSURLAuthenticationChallenge: 0x7f942e118e90 for task AASA-FFCCC66E-AC04-476A-A27F-8F6BE692E04C { domain: *.myCompany-staging.com, bytes: 0, route: cdn } Failure: Request for app-site-association.cdn-apple.com/a/v1/myCompany.com for task AASA-FF1CF14E-4A11-4320-8398-93379D6CF5F0 { domain: *.myCompany.com, bytes: 0, route: cdn } denied because the CDN told us to stop with HTTP status 404: SWCERR00101 Bad HTTP Response: 404 Not Found -- {"status":"404 Not Found"} Task .6 finished with error [-999] Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo={NSErrorFailingURLStringKey=app-site-association.cdn-apple.com/a/v1/myCompany.com, NSErrorFailingURLKey=happ-site-association.cdn-apple.com/a/v1/myCompany.com, _NSURLErrorRelatedURLSessionTaskErrorKey=( "LocalDataTask .6" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask .6, NSLocalizedDescription=cancelled It seems to be an HTTP Request related error, so I checked and it looks like I was able to see success messages from the google cloud logs (200 codes) for the apple OS trying to fetch the ASAA file, so this doesn't seem to be the case. Any ideas or suggestions would be greatly appreciated!
Posted
by baottran.
Last updated
.