Ausgabe
Also habe ich dieses Tutorial genau befolgt und die gleichen Werte wie die bereitgestellten verwendet:
https://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-apple-ios-9
Die Apple-Association-Datei liegt ebenfalls im Link-Verzeichnis bereit:
WEB_PAGE:PORT_NUMBER/apple-app-site-association
Alles scheint auf dieser Seite eingerichtet zu sein.
Ich habe die Berechtigungen hinzugefügt, das Bereitstellungsprofil aktualisiert und alles ist eingerichtet.
Wenn ich die App auf meinem Gerät ausführe und den Link http://WEB_PAGE:PORT_NUMBER
öffne, wird Safari immer geöffnet.
Ich habe sogar Haltepunkte in der folgenden Methode:
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray * __nullable restorableObjects))restorationHandler
Aber zil.
Hat das jemand perfektioniert? Gibt es etwas, das ich vermisse?
Lösung
Es gibt einige mögliche Probleme.
-
Versuchen Sie, Ihre Domain in diesen Link-Validator einzufügen, und vergewissern Sie sich, dass es keine Probleme gibt: https://limitless-sierra-4673.herokuapp.com/ (Dank an ShortStuffSushi — siehe Repo )
-
iOS protokolliert eine Fehlermeldung in den Systemprotokollen, wenn TLS in der in Ihren Berechtigungen angegebenen Domäne nicht ordnungsgemäß eingerichtet ist. Es ist in den Betriebssystemprotokollen vergraben, nicht in den Anwendungsprotokollen. Die Fehlermeldung sieht so aus
Sep 21 14:27:01 Derricks-iPhone swcd[2044] <Notice>: 2015-09-21 02:27:01.878907 PM [SWC] ### Rejecting URL 'https://examplecustomdomain.com/apple-app-site-association' for auth method 'NSURLAuthenticationMethodServerTrust': -6754/0xFFFFE59E kAuthenticationErr
. Fehlermeldung von hier , schnelle (unvollständige) Anweisungen zur Verwendung von CloudFlare für TLS hier . -
In meinen persönlichen Tests hat das Klicken/Eingeben eines Links in Safari die App noch nie direkt geöffnet. Das Klicken aus anderen Apps (iMessage, Mail, Slack usw.) hat funktioniert. Andere haben berichtet, dass das Klicken auf Links in den Google-Suchergebnissen die App direkt geöffnet hat.
-
Beachten Sie Folgendes: Wenn ein universeller Link Ihre App erfolgreich öffnet und Sie sich dann zu Safari durchklicken (indem Sie auf Ihre Website in der oberen rechten Ecke der Navigationsleiste in der App tippen), stoppt iOS das Öffnen der App, wenn Sie diese URL besuchen . Dann können Sie in Safari mit “Öffnen” nach unten ziehen, um ein Banner oben auf der Seite anzuzeigen. Ich habe viel Zeit damit verschwendet. Beachten Sie, dass das Durchklicken zur Website => Deaktivieren von UL pfadspezifisch erscheint , basierend auf den Pfaden, die Sie in der Datei „apple-app-site-association“ angeben. Wenn Sie also separate Routen haben,
yoursite.com/a/*
undyoursite.com/b/*
wenn Sie auf klickenyoursite.com/a/*
und Ihre App direkt geöffnet wird, haben Sie in der oberen rechten Ecke der App die Option, sich durchzuklickenyoursite.com/a/*
. Wenn Sie dies tun, werden nachfolgende Besuche anyoursite.com/a/*
wird im Browser geöffnet, nicht in der App. Sollteyoursite.com/b/*
jedoch unbeeinflusst bleiben und Ihre App trotzdem direkt öffnen.
Lassen Sie mich wissen, wenn Sie herausfinden, was das Problem ist. Ich persönlich bin sehr gespannt, wie Universal Links funktionieren und welche Grenzfälle es gibt. Viel Glück.
Beantwortet von – st.derrick
Antwort geprüft von – Willingham (FixError Volunteer)