Universal Linking Uploading the JSON to the HTTPS Server - ios

I am trying to implement universal linking in my IOS Application. I have the apple documentation and am following the steps, but I come to a problem with uploading my "apple-app-site-association" file to the root of my HTTPS web server. I am using Wix.com to build my website and using Google Admin for the website domain. I have no idea where to upload this file and I looked all over the Wix documentation and came up with nothing. Is this a problem with Wix? Or am I missing something else?
Apple Documentation: https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html
Wix: https://www.wix.com

Related

How can i host an Apple enterprise app download page on Sharepoint

I am trying to find a way to host my enterprise distributed apps on our company Sharepoint site. I created a site and uploaded the .plist and the .ipa files to the site's "documents", linking them with the <a href="itms-services://?action=download-manifest&url=[link to plist]-command but i does not seem to work, tapping the link on the iOS device nothing happens. Is there a workable strategy hosting both the app installations files and the download link on Sharepoint.
Several community articles mention that the root-cause of this issue is an authentication layer; if we consider this to be a root-cause, the entire SharePoint (OnPremises or Online) or any web site that contains an authentication provider will prevent the proper consumption of these files; BUT, I don't think it's the real problem, because the file extensions mentioned in your question are not supported by MIME types in SharePoint. Please, if possible, inspect the link with Browser Developer Tools and verify that the HTML of the link is rendered correctly; unfortunately, there is not much hope in solving this problem natively. You may try to develop some custom App for SharePoint using SharePoint Framework (SPFx) or SharePoint Add-In Hosted App to try to solve this issue, but you will have a hard work to do

HTML5 Video Does Not Play on iOS over HTTPS when deployed to Firebase Hosting

I am using the the HTML5 Video tag on a PWA created in angular 6 and for the life of me I can't get it to work. At first I thought it was an issue with encoding since it works on FF, Chrome (Desktop and Mobile), and Safari Desktop. I have checked the encoding and the use of the video tag. I believe that all is in order. I am able to play the video on iOS when serving it using HTTP from my local.
ng serve --host 0.0.0.0
It fails to play when trying to use HTTPS and a cert generated from openssl.
http-server dist/marcel-webapp/ -S
This leads me to believe that the issue is only with untrusted certificates. The problem that I having a very hard time finding the solution to is that I am hosting it on Firebase, and google handles the provisioning of the SSL certificates automatically. I checked my version of the trust store on my phone and the neither the root or intermediate certificates in use are listed.
Here is the link to the video my site
The question is... If really do have a certificate issue on firebase, what can be do about it?
Thanks in advance for any guidance on this.
Update and actual problem identified! I eliminated an untrusted certificate as the problem by deploying to AWS. The problem is actually related to the service worker created when adding PWA support to the project. The reason the video works over HTTP is that service workers are only enabled in HTTPS. I'm using Angular 6 to create the PWA, however it seems that other frameworks have the same problem. Turning off services workers in the Safari allows the video to display as expected
Settings > Safari > Advanced > Experimental Features > Service Workers
I found this post describes the problem in great detail. View Post Here

Apple universal links not working even after uploading Apple-app-site-assocaiton(AASA) file on server

I tried to implement universal links functionality in my app. For that I created a Apple-app-site-assocaiton(AASA) with in verified json format by branch.io and uploaded on my root server. After that I enable associated domains in my app capability in Xcode to define (applinks:) that help website url to detect my app into the active device. Now, problem is after implementation I could not avail that functionality as Web url not detecting my app. I tried so many trouble shooting method but it hasn't help me out.
Secondly, apple api validator tool is also not showing my website compatible to deep link even after successfully adding AASN file. Can anybody help where exactly I'm lacking behind.

How debug Universal links

I use the cordova plugin "ionic-plugin-deeplinks" (to my knowledge also works with a plain cordova app).
On Android, links when clicked let users choice between chrome and my application.
=> I suppose that app links works
=> As I'm able to access window.IonicDeeplink and redirect the user to the right page
I'm not able to have the same behavior on iOS, when I click a link I always get the app open in Safari.
How can I find clue on issues ?
More context:
apple-app-site-association is got with a HTTP 200 (over https only), it's located in /.well-known/apple-app-site-association:
I checked TeamID and BundleID 5 times (at least);
with the branch.io validator i get all validations green:
Your domain is valid (valid DNS).
Your file is served over HTTPS.
Your server does not return error status codes greater than 400.
Your file's 'content-type' header was found :)
Your JSON is validated.
with the apple validator, I got : "Action required
Could not extract required information for Universal Links. Learn how to implement the recommended Universal Links.
Error no apps with domain entitlements
The entitlement data used to verify deep link dual authentication is from the current released version of your app. This data may take 48 hours to update." (but some devs said that working app add the same error) what to do with that result?
when monitoring server's log while installing the app with Xcode I see a request get a HTTP 200 on apple-app-site-association
while installing the app with Xcode I got no logs referring to swcd in Xcode (I read here that I should if I had error while installing the app). Is a successful installation silent?
I followed that guide to setup entitlements, but some things feel odd with it:
Unlike the snapshot in the guide, I didn't found any *.entitlements file in my project. Should I have one with cordova? (my xCode seems to remember my setting though). Is it possible to check that installed app get entitlements?
I did set my domain in Xcode like this: applinks:mydomain.com and the switch is ON. But I never uploaded any thing from my local dev environment to apple services. Should I have? If yes, how ?
My current interrogations are highlighted but any explanations on any lack of understanding will be more than welcome!!!
Until then I started a verification for testFlight looking for more info.
while installing the app with Xcode I got no logs referring to swcd in xCode
I implemented Universal Links manually, but situation was similar. Particularly I mentioned empty swcd process log while installing the app, and it turned out that most likely iOS didn't even try to download apple-app-site-association file, like if responsible process wasn't run. In my case device restart helped and deep-linking began to work.
Thus I think restarting device is one another step in troubleshooting when you are sure about all your setup.
For anyone trying to debug this in development:
In XCode, ensure you're editing the Debug version of Signing & Capabilities.
To bypass the Apple Universal Links CDN, configure your Debug domains like applinks:?mode=developer -- adding that query string in development is important.
On your iOS Device, go to Settings->Developer->Universal Links and ensure the Associated Domains Development toggle is switched on.
On your iOS Device in Settings->Developer->Universal Links->Diagnostics, enter your Universal Links URL and ensure you get a green checkmark.
After following all of these steps, Universal Links work locally.

Universal Links to Amazon

Shouldn't we be able to use Universal Links into Amazon on iOS? They are hosting this file: https://www.amazon.com/apple-app-site-association and this blog post seem to be certain of it. However, if I make a link that follows one of their site-association rules, such as
http://www.amazon.com/gp/product/0062273205,
I keep getting directed to Safari instead of the app. I have never clicked Back to X from the Amazon app, so it can't be that cache that is messing with me.
Universal Links do work with the Amazon app on iOS. I tested the example (http://www.amazon.com/gp/product/0062273205) on iOS 9.2.1, and it opened the app as expected.
Have you have scrolled all the way to the top of the Amazon page? There should be a banner like this that will forward you to the app. If not, I suppose it's conceivable that your copy of the Amazon app didn't correctly register for Universal Links when first installed. You could try deleting it and reinstalling.
I know this is an old question, however I did post an answer that seems to work currently which might help someone:
I too had mixed results with universal links, it worked on some devices and not on others even though the Amazon app is installed.
In summary, what I did was:
Using https://www.appsight.io/app/amazon I was able to get the URL Scheme for the amazon app
I whitelisted that URL scheme in my info.Plist
I added some code to check if I can open the amazon app using the scheme otherwise I should fallback to using Universal links
Exact code I used is available on my answer here.

Resources