I want to know how to create apple-app-site-association file.

cat json.txt | openssl smime -sign -inkey example.com.key -signer example.com.pem -certfile intermediate.pem -noattr -nodetach -outform DER > apple-app-site-association

And I don't have the .pem and .key files and I don't know how to create it.

Replies

You typically get these credentials as part of setting up HTTPS on your web server. In this example:

  • example.com.pem
    holds the certificate for your web server (issued by some trusted certificate authority (CA))
  • example.com.key
    holds the private key that matches the public key embedded in that certificate
  • intermediate.pem
    holds any intermediate certificates on the path from the
    example.com.pem
    leaf certificate to the CA’s trusted root certificate

Keep in mind that you only need to sign the

apple-app-site-association
file if you want to support iOS 8. In iOS 9 and later you can host a plaintext file on your HTTPS server and you’re done. The Support Universal Links section of the App Search Programming Guide states as much:

If your app runs in iOS 9 or later and you use HTTPS to serve the apple-app-site-association file, you can create a plain text file that uses the application/json MIME type and you don’t need to sign it.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

What if I did all the things I need from here: https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html
and I have sign apple-app-site-association file and add the assoication domains to my app, but in the search result the link didn't get into my app.do you


What could the problem be?

Thanks,

The Butcher!

First things first, have you used the App Search API Validation Tool to check your site?

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Hi eskimo,


Do you have any idea, how to get this done with a serverless backend.


For an example how can we implement a similar behavior by using AWS Lambda and API gateway? There's no mechanism to keep a static file in that case.

The Apple site association file must be stored at a well-known path (well, one of two) on the server hosting the domain in question. If you can’t meet that those requirements, you won’t be able to use this feature.

For an example how can we implement a similar behavior by using AWS Lambda and API gateway?

I don’t know enough about those technologies to offer you any concrete advice on that front.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Did you find a solution for this? I want to add apple-app-site-association on serverless aws api gateway aswell..