The apple-app-site-association file format error - ios

*I have error message from API Validation Tool from Apple*
**The apple-app-site-association file was found but it doesn’t follow the required format. Learn how to format the apple-app-site-association file.**
*My apple-app-site-association file:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "TeamId.com.Company.AppName",
"paths": [
"/path1-*",
"/path2",
"/path3-*",
"/path4"
]
}
]
}
}
I saw this videos from WWDC 2015 "Seamless linking to your Apps" and "Introducing Search API" and read this App Search Programming Guide.
My website have an SSL certificate (from Authority certified) and my apple-app-site-association is inside https://www.mywebsite.com/apple-app-site-association
I don't know what is wrong with the file. I think syntax error can be but I cant see it.*

seems like you should replace TeamId.com.Company.AppName with your REAL TeamId and REAL bundle id.
Look at this one for exmaple
https://routes.tips/apple-app-site-association
It`s nor signed, but working and passing validation

Dears
There is one more issue about TeamID, especially more than one apps in one accout.
Please use the App IDs prefix into your appID of app-app-site-assiciation.

Related

Universal link does not work. Link validator tool displays error:Error no apps associated with url

I followed all the steps for adding universal link support for an app. But the option to open the app is never displayed.
The server hosts apple-app-site-association file with the following contents:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "teamID.bundleID'",
"paths": [ "/ios/meetings"]
}
]
}
}
Device logs for when app is installed:
swcd(CoreUtils)[216] : Completing request for 'https://example.com/.well-known/apple-app-site-association', status 0/0x0 noErr
swcd(CoreUtils)[216] : Updated app ID 'teamID.bundleID', domain '*.example.com', flags 0x0 < > -> 0x2 < SiteApproved > on check
Hitting URL: https://example.com/ through apps like mail, messages, notes, and safari always opens the link in the browser.
Link validator tool displays status passed but the section "Link to Application" displays an error: Error no apps associated with URL.
Can anyone tell me if I am missing anything?
Thanks in advance.
Try this.
1 set paths to ["*", "/"]
and
2 goto Project-->Targets-->Capabilities-->Associated Domain "ON"

Universal Link open URL after subdomain

I am working on universal link. I had some urls to open in my application.
I had added portal.xyz.com in associated domains.
Problem : My application opens on https://portal.xyz.com/. I want to continue this URL to browser. Just want to open URL that having start path https://portal.xyz.com/da/notification**.
How can I do this?
Please keep same associated domain in your project and you need to handle this case from apple-app-site-association file that you have uploaded in server,
{
"applinks": {
"apps": [],
"details": [
{
"appID": "9JA89QQLNQ.portal.xyz.com"//keep your Apple Id of you application,
"paths": [ "/da/notification/*"]
}
]
}
}
Ref: https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html
Hope it will be helpful.

How to restrict all other paths except one for Universal link in iOS to open app using URL

I am using Unviversal link in iOS application.
I am referring Apple doc: https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html
I want to open app for only one path. example domain is https://example.com and paths are /a, /b, and so on. I want to give access to only '/b' path.
How do I do it?
Universal Links operate on an opt-in basis for URLs. In other words, if you don't explicitly specify a path in the apple-app-site-association file (either by literal string or wildcard matching), it won't be used.
Using Apple's example as a basis:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "9JA89QQLNQ.com.apple.wwdc",
"paths": [ "/b"]
}
]
}
}
Identify an area that should not be handled by adding “NOT ” (including a space after the T) to the beginning of the path string. For example, you Want to  prevent to handle the /videos/samples/2010/* area of the website then the paths array as shown here:
"paths": [ "/videos/collections/*", "NOT /videos/samples/2010/*", "/videos/samples/201?/*"]

iOS universal link "NOT" keyword does not work

Here is my actual apple-app-site-association file:
{
"applinks": {
"apps": [],
"details": [ {
"appID": "XXXXXXXXX.com.example.app",
"paths": [
"NOT /Registration",
"/*"
]
}]
}
}
I would like to allow every urlendpoint to working as universal link, expect the example.com/Registration/whatever
But the above code not working. If I click on a registration link, it open my application.
I tried a lot of version of this file eg: "NOT /Registration/*", "NOT /Registration*", "NOT /Registration/", but no one work.
What is wrong?
UPDATE:
Here is my full example registration link:
https://example.com/Registration/AccountActivation?activationCode=XXXX
I do not have a fix for your problem, but I can give you a possible explanation. I'm leaving this here for reference in the hopes that I overlooked something.
Did you try reinstalling the app after changing the file? I had a simmilar problem not long ago. It seems that apple is only fetching the file once on install. From the orininal source:
During my troubleshooting, I discovered it’s best to verify an app is
making the HTTPS request for the apple-app-site-association file. It’s
important to know that apps only attempt to this once per
installation. The request occurs the first time an app is launched
after installation. Furthermore, force closing an app and then
launching it will NOT trigger the app to reload
apple-app-site-association.
via https://medium.com/#barsh/my-first-date-with-ios-universal-links-90dfabc88bb8#.wyrslx2di
As I said, there seems to be no solution on updating the file without a reinstall of the app.
NOT /Registration is a match for yourdomain.com/Registration but not any subpath e.g. /Registration/AccountActivation....
I believe this should achieve what you're looking for:
{
"applinks": {
"apps": [],
"details": [ {
"appID": "XXXXXXXXX.com.example.app",
"paths": [
"NOT /Registration/*",
"/*"
]
}]
}
}

iOS 9 universal links working. Exclusion path not working

There are several other posts which say universal links are not working. I have a different issue where these links are working, however I want to exclude some specific url's on my website from launching the app and this is not working.
As documented here:
https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html
I have implemented the necessary steps for universal link including uploading the apple-app-site-association file.
The file looks like this example:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "AB1CDEFGHI.com.mydomain.myapp",
"paths": [ "*", "NOT /help/" ]
}
]
}
}
The intention here is if a user clicks www.mydomain.com/help it will not launch the app but open this page in safari. However this link opens the app.
I have tried several versions of this path including:
/help/*
/help/
/help
help
none of these provide the desired exclusion functionality.
Has anybody been able to implement this type of exclusion?
To answer my own question, by changing:
[ "*", "NOT /help/" ]
to:
[ "NOT /help/", "*" ]
It worked as expected. The order of the paths matters and by putting "*" first the system will find a match on the first path and will launch the app.
Simple enough...
You should use "NOT /help/" having the NOT inside the string.
Also, I suggest you look at AppsFlyer's solution for Universal Links. It may be a good alternative (using another applinks path).

Resources