SwiftAASAValidator
Validate that apple-app-site-association files are set up correctly
The idea is you can use these functions in your test suite for doing automated tests on the validity of your apple-app-site-association file
Fetching your apple-app-site-association files
 
To fetch the apple-app-site-association files, create a URL which is your domain, such as
let domainUrl:URL = URL(string:"https://www.example.com")!
and retrieve the two urls for the allowed locations like so:
let appleAppSiteAssociationURLs:[URL] = try! domainUrl.urlsForAppleAppSiteAssociation()
Then use the urls to fetch the files. it shoudle exist at one of the two locations.
Deserializing an apple-app-site-association file
 
Once you've fetched the Data of the apple-app-site-association file, deserialize it with a JSONDecoder, like so:
let appleAppSiteAssociation:AppleAppSiteAssociation = try! JSONDecoder().decode(AppleAppSiteAssociation.self, from: data)
Testing matching URLs
Test which app ids can be linked for a given URL, using the .matchedAppIds(...) method.
let testUrl:URL = URL(string: "https://www.example.com/buy/")!
let testAppId:String = "ABCED1234.com.example.app"
XCTAssertEqual(appleAppSiteAssociation.applinks?.matchedAppIds(testUrl).contains(testAppId), true)
Each class within contains its own testing methods and its properties can be introspected.
Unsupported features
percentEncoded is not handled correctly