it-swarm.com.de

iOS9: Universal Links funktioniert nicht

Also folgte ich dem Tutorial https://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-Apple-ios-9 und verwende genau dieselben Werte wie eine zur Verfügung gestellt.

Die Apple Association-Datei befindet sich auch im Link-Verzeichnis: 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 eingerichtet.

Wenn ich die App auf meinem Gerät starte und den Link http: // WEB_PAGE: PORT_NUMBER öffne, wird Safari immer geöffnet.

Ich habe sogar Haltepunkte in den folgenden Methoden:

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray * __nullable restorableObjects))restorationHandler

Aber zilch.

Hat jemand das perfektioniert? Gibt es etwas, was ich verpasst habe? 

92
Legolas

Es gibt einige mögliche Probleme.

  1. Versuchen Sie, Ihre Domain in diesen Link-Validator einzufügen, und stellen Sie sicher, dass keine Probleme auftreten: https://limitless-sierra-4673.herokuapp.com/ (Verdienst von ShortStuffSushi - siehe repo )

  2. iOS protokolliert eine Fehlermeldung in den Systemprotokollen, wenn TLS nicht ordnungsgemäß in der in Ihren Berechtigungen angegebenen Domäne eingerichtet ist. Es ist in den Betriebssystemprotokollen begraben, nicht in Anwendungsprotokollen. Die Fehlermeldung sieht wie 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 aus. Fehlermeldung aus hier , schnelle (unvollständige) Anweisungen zur Verwendung von CloudFlare für TLS hier .

  3. In meinen persönlichen Tests wurde durch das Klicken/Eingeben eines Links in Safari die App nie direkt geöffnet. Durch Klicken auf andere Apps (iMessage, Mail, Slack usw.) wurde hat gearbeitet. Andere haben berichtet, dass das Klicken auf Links in den Google-Suchergebnissen die App direkt geöffnet hat.

  4. Wenn ein Universal Link Ihre App erfolgreich öffnet und Sie dann zu Safari durchklicken (indem Sie Ihre Website in der oberen rechten Ecke der Navigationsleiste in der App antippen), wird iOS die App beim Öffnen dieser URL nicht mehr öffnen. In Safari können Sie dann nach unten ziehen, um ein Banner mit "Öffnen" oben auf der Seite anzuzeigen. Ich habe viel Zeit damit verschwendet. Beachten Sie, dass das Klicken auf die Site => Deaktivieren von UL pfadspezifisch erscheint, basierend auf den in der Apple-App-Site-Assocation-Datei angegebenen Pfaden . Wenn Sie also getrennte Routen, yoursite.com/a/* und yoursite.com/b/*, haben, wenn Sie auf yoursite.com/a/* klicken und Ihre App direkt geöffnet wird, haben Sie die Möglichkeit, in der oberen rechten Ecke der App auf yoursite.com/a/* zu klicken. Wenn Sie dies tun, werden nachfolgende Besuche in yoursite.com/a/* im Browser und nicht in der App geöffnet. yoursite.com/b/* sollte jedoch nicht betroffen sein und Ihre App trotzdem direkt öffnen.

Lassen Sie mich wissen, wenn Sie herausfinden, worum es geht. Ich bin persönlich sehr gespannt, wie Universal Links funktionieren und welche Edge-Fälle existieren. Viel Glück.

167
st.derrick

Es gibt viele Möglichkeiten, dass dies schief geht. Zwei Punkte bereiteten mir Schwierigkeiten:

  • Wenn Sie in Xcode die Berechtigung Zugeordnete Domänen hinzufügen, muss jeder Eintrag mit applinks: und dann mit Ihrem Domänennamen beginnen. Z.B. applinks:www.Apple.com.

  • Obwohl Xcode eine Berechtigungsdatei für mich erstellt hat, war diese nicht in meinem Build enthalten: Ich musste dieses Feld manuell anklicken.

Und ja, danach musste die Apple-app-site-association-Datei nicht signiert werden: Es handelt sich um reinen Text, der funktioniert, solange er über HTTPS bereitgestellt wird. (Sie müssen es jedoch weiterhin signieren, wenn Sie iOS 8 unterstützen.)

52
DFedor

In der Dokumentation ist anscheinend ein Fehler beim Erstellen der Zuordnungsdatei für Universal Links aufgetreten.

Wo steht:

Der Wert des appID-Schlüssels ist die Team-ID der App und die Paket-ID

es sollte sagen

Der Wert des appID-Schlüssels ist das Präfix der App und die Bundle-ID

Bei den meisten Apps scheinen die Team-ID und die App-Präfixe identisch zu sein. Wenn sich Ihre App jedoch schon seit vielen Jahren im Store befindet, können diese Werte abweichen. 

Um diesen Wert zu finden, öffnen Sie das Member Center unter https://developer.Apple.com und sehen Sie unter "Zertifikate, Kennungen und Profile" nach. Klicken Sie auf "Kennungen" und dann in der Tabelle unter "Kennungen" auf "App-IDs" ". Suchen Sie nach Ihrer App und erstellen Sie mit dem Präfixwert und der Bundle-ID Ihre AppID für die Zuordnungsdatei.

26

St.derrick's Antwort ist informativ. 

Damit universelle Links wieder in der App statt in Safari geöffnet werden können, müssen wir Folgendes tun.

  • Drücken Sie lange auf Universal-Link in Mail oder iMessage. Dann werden Optionen angezeigt, die Sie in Safari oder App öffnen können. 
23
Praveen

Um Apple-app-site-association auf der Serverseite zu überprüfen, können Sie Den offiziellen Validator von Apple verwenden.

https://search.developer.Apple.com/appsearch-validation-tool/

21
Devy

Um das Problem zu beheben, suchen Sie nach der Installation Ihrer App in der Konsolenausgabe Ihres Geräts nach "swcd", um zu überprüfen, ob die Registrierung des universellen Links erfolgreich war oder fehlgeschlagen ist.

  1. Verwenden Sie ein tatsächliches Gerät, nicht den Simulator.
  2. Löschen Sie die App von Ihrem Gerät.
  3. Schließen Sie das Gerät an Ihren Computer an und zeigen Sie die Konsolenausgabe des Geräts in xcode an. (Fenster -> Geräte -> [Ihr Gerät] -> Geräteprotokolle anzeigen). Halten Sie dieses Fenster offen.
  4. Installieren Sie Ihre App und lassen Sie sie starten.
  5. Filtern Sie die Konsolenausgabe nach "swcd". Wenn es erfolgreich ist, sehen Sie etwas wie den folgenden Screenshot. Wenn dies fehlschlägt, sehen Sie etwas anderes. Wenn Sie nichts sehen, haben Sie etwas grundlegendes durcheinandergebracht, wie das Hinzufügen der Berechtigung für verknüpfte Domänen.

 Applink added successfully

16
mpoisot

Ich stellte fest, dass das Problem für mich war, dass Links zum Stammverzeichnis a (z. B. http://example.com/) meine App nicht öffneten, aber wenn ich einen Pfad (z. B. http://example.com/mypath) hinzufügte, funktionierte es. Hinzufügen von "/" zur Pfadliste:

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "TEAM_ID.BundleIdentifier",
                "paths": [ "*", "/" ]
            }
        ]
    }
}

Wie von slutsker im this Apple Developer Forums Thread geantwortet.

15
tidbeck

Schnelle Schritte zum Überprüfen, ob Sie Universal Link korrekt implementiert haben.

  • Tippen Sie etwas länger auf den Link, von dem Sie erwarten, dass er die App startet. Im Kontextmenü sollte ein "Öffnen in [Name Ihrer App]" angezeigt werden.

  • Öffnen Sie die Notes-App und geben Sie den Link ein, den Sie zum Öffnen der App erwarten. Tippen Sie auf Fertig. Der Link wird gelb und durch Antippen des Links sollte Ihre App und nicht Safari geöffnet werden.

  • Wenn der Link http://yourDomain.com die App nicht startet, versuchen Sie http://yourDomain.com/yourFolder/

  • Wenn in Safari im Kontextmenü "In [Name Ihrer App] öffnen" angezeigt wird, durch Tippen auf den Link jedoch der Link in Safari geöffnet wird, anstatt die App zu starten,

    ein. Versuchen Sie, die Safari-Seite aufzurufen, die geöffnet wurde, als der Link angeklickt wurde. Es sollte ein Banner angezeigt werden, mit dem Ihre App geöffnet werden kann. Tippen Sie auf das Banner, um die App zu öffnen, schließen Sie die App, indem Sie die Home-Taste drücken, kehren Sie zur Safari zurück und starten Sie die App, indem Sie erneut auf den Link tippen. Dieses Mal sollte die App gestartet werden, da durch das Tippen auf das Banner die Einstellung zum Öffnen des Links in der App gespeichert werden sollte.

    b. Wenn die App nach dem Schritt a. Immer noch nicht gestartet wird, versuchen Sie, den Link an ein Webmail wie gmail zu senden, öffnen Sie die Webmail-Site in Safari und klicken Sie auf den Link. Wenn dies funktioniert, haben Sie möglicherweise versucht, die App über dieselbe Domäne wie den Link zu starten. Nach allem, was ich gesehen habe, scheitert das Starten der App von derselben Domäne meistens. Wahrscheinlich möchte Safari nicht prüfen, ob die Ziel-URL eine universelle Verbindung ist, wenn sich die Verknüpfung in derselben Domäne befindet, in der sich der Benutzer befindet. Versuchen Sie also, die App von einer anderen Domäne aus zu starten.

14
Nikhil Mathew

Es ist auch äußerst wichtig, die Projektversion oder Build-Nummer nach der Integration von Universallinks zu erhöhen. Selbst wenn Sie löschen/neu installieren, nimmt iOS die Links nicht auf, es sei denn, Sie stoßen auf die Version. 

10
Kyle Truscott
  • Universal Links funktionieren nicht, wenn Sie den Link in das Browser-URL-Feld einfügen.

  • Universal Links work mit einem benutzergesteuerten <a href="...">-Element klicken Sie auf domänenübergreifend. Beispiel: Wenn auf google.com ein Universal Link auf bnc.lt verweist, wird die App geöffnet.

  • Universal Links funktionieren nicht mit einem benutzergesteuerten <a href="..."> Element, klicken Sie auf in derselben Domäne. Beispiel: Wenn es bei google.com einen Universal Link gibt, der auf einen anderen Universal Link bei google.com verweist, wird die App nicht geöffnet.

  • Universal Links können nicht über Javascript (in window.onload oder über einen Aufruf von .click () für ein <a>-Element) ausgelöst werden, sofern sie nicht Teil einer Benutzeraktion sind.

source: https://dev.branch.io/getting-started/universal-app-links/support/ios/#appsbrowsers-that-support-universal-links

Die 3. Kugel kostete mich einen Tag, um es herauszufinden.

7
guido

Wenn die Menschen hier nach anderen Lösungen suchen, haben wir Schritt für Schritt eine ausführliche Anleitung zum Debuggen von Universal Links zusammengestellt.

Hör zu:

Universal Links Debugging Guide

 Debugging Guide preview

Wenn Sie nur Universal Links frisch einrichten möchten, ist dieses Handbuch sehr hilfreich:

iOS Deep Linking Setup-Anleitung

Hoffe, sie sind hilfreich!

6
Chris Maddern

Die häufigste Ursache ist, wenn der Benutzer oben rechts auf tippt, um iOS anzuweisen, die App (in diesem Fall Uber) in Zukunft NICHT zu öffnen.

 

Zum Beheben ziehen Sie das intelligente Banner herunter und tippen auf ÖFFNEN:

 Pull down in Safari, and OPEN again

Dies "erinnert" sich anschließend daran, die App zu öffnen.

5
samwize

Ich dachte nur, ich würde einige Dinge hinzufügen, die ich entdeckt habe, falls in Zukunft mehr Menschen auf die gleichen Probleme stoßen wie ich. Diese beziehen sich hauptsächlich auf Authentifizierungsfehler.

Auch wenn Apple dies nicht ausdrücklich angibt, muss die Apple-app-site-association-Datei über https bereitgestellt werden, auch wenn sie signiert ist. Das für https verwendete Zertifikat muss auch von Apple als vertrauenswürdig eingestuft werden. Während ein Zertifikat, das dem Gerät in Einstellungen -> Allgemein -> Profile hinzugefügt wird, https in Safari zulässt, können universelle Links jedoch nicht funktionieren.

In den Geräteprotokollen wird bei einem Authentifizierungsfehler zwischen dem Gerät und dem Server ein Wert wie "TrustResultValue" : 4 ausgegeben. Eine TrustResultValue von 5 bedeutet, dass das Zertifikat für die falsche Domäne ist (z. B. test.com von www.test.com). Eine TrustResultValue von 4 bedeutet, dass das Zertifikat für diese Verwendung nicht vertrauenswürdig ist.

Möglicherweise gibt es einige hilfreiche Schritte zum Debuggen von hier . Der Abschnitt "Testen des Zugriffs auf die Apple-App-Site-Zuordnung" ist eine schrittweise Anleitung, um sicherzustellen, dass das Gerät die Apple-app-site-association-Datei erhält. Die Schritte laufen auf:

  1. Deinstallieren Sie die App. Dies ist erforderlich, da die Datei bei der Installation heruntergeladen wird.

  2. Stoppen Sie, dass der Server Apple-app-site-association ordnungsgemäß bereitstellt.

  3. Öffnen Sie in xcode Fenster -> Geräte und wählen Sie Ihr Gerät aus.

  4. Öffnen Sie die Geräteprotokolle, indem Sie auf das Dreieck unten im Fenster klicken.

  5. Löschen Sie die Protokolle, indem Sie auf den Papierkorb klicken, um alle vorherigen Protokolle zu löschen, die möglicherweise in Zusammenhang stehen.

  6. Installieren Sie die App mit xcode neu, indem Sie auf die Wiedergabeschaltfläche klicken.

  7. Wenn die App nach dem Start der App die Datei korrekt anfordert, sollten die Geräteprotokolle einen Fehler enthalten, der bei der Suche nach "Apple-App-Site-Association" gefunden werden kann.

Wenn die Apple-app-site-association-Datei ordnungsgemäß bereitgestellt wird (Schritt 2 wird ausgelassen), sollte kein Fehler auftreten. Stattdessen wird möglicherweise ein Authentifizierungsfehler angezeigt, wenn dies das Problem ist.

5
Sam

Für jeden, der das Öffnen von (universellen) Links problemlos testen muss, können Sie den Link in Ihrem Simulator auch vom Terminal aus mit dem folgenden Befehl öffnen:

xcrun simctl openurl booted yourapp_or_http://yourlink

zum Beispiel:

xcrun simctl openurl booted https://www.google.com

4
morksinaanab

Es dauerte fast einen Tag, um das herauszufinden ... Das Problem, das ich hatte, bestand nicht darin, die aktualisierten Bereitstellungsprofile in XCode herunterzuladen (ich habe auch XCode danach neu gestartet).

(Einstellungen> Konten> Details anzeigen> Alle herunterladen)

3
ken

Ich habe es geschafft, dass es funktioniert, aber es hat einige Zeit und Mühe gekostet. Beachten Sie, dass wenn Sie nicht die Apple-app-site-association -Datei (das Signieren ist optional!) Signieren, wenn Sie auf einen Link in Safari tippen, nicht Ihre App öffnen wird (dies hat mir viele Kopfschmerzen bereitet).

3
Attila Bardos

Sie können universelle Links im Simulator testen

Aus dem App Search-Programmierhandbuch: Support Universal Links

3
holmesal

Wenn Sie Ihr Apple-app-site-association auf Firebase hosten, stellen Sie sicher, dass es sich im /.well-known/ -Unterverzeichnis befindet! Es scheint, dass Xcode diese URL zuerst abfragt. Wenn dies erfolgreich ist, wird kein Versuch unternommen, den Apple-app-site-association im Stammverzeichnis abzufragen. Aus irgendeinem Grund haben die Ingenieure von firebase dafür gesorgt, dass die gehosteten Websites automatisch auf /.well-known/Apple-app-site-association mit einer leeren (aber korrekt geformten) Zuordnungsdatei antworten, die Ihre benutzerdefinierte überschreibt. Sie wissen also nicht, warum nichts funktioniert.

2
NAlexN

Gehen Sie zu developer.Apple.com und bearbeiten Sie eines Ihrer Distributionsprofile. Auf der Bearbeitungsseite können Sie ein Popup für App-IDs öffnen, das eine Liste Ihrer App-Namen und in () runden Klammern hinter dem Namen der App anzeigt zeigt alle Ihre real App IDs. Einige Apps haben möglicherweise Ihre Team-ID als Präfix, andere jedoch nicht. Stellen Sie sicher, dass Sie genau das verwenden, was Sie in diesem Popup-Menü in () sehen, und fügen Sie es in das AppID-Feld mit den Details der Apple-App-Site-Zuordnung ein. Ich hatte genau dieses Problem mit einer App und ihren universellen Links.

2
MacMark

Ich habe nicht genau die gleiche Problem/Lösungs-Kombination gesehen, die es für mich zum Laufen gebracht hat. Also könnte ich auch hinzufügen, dass jemand das gleiche Problem hat!

Für meine App verwende ich ein benutzerdefiniertes URL-Schema (in APP_TARGET > Info > URL Types eingestellt) und stelle das URL-Schema von hier in der Firebase-Konsole so ein, dass es übereinstimmt, aber immer noch nicht funktioniert. 

Mein Problem bestand eigentlich aus zwei Problemen:

Achten Sie darauf, wenn die Option Signatur automatisch verwalten markiert ist

Wenn Sie die Einstellung von "Xcode automatisch verwalten" von Xcode wie ich überprüfen, da ich gerade versucht habe, eine schnelle Demo-App zu erstellen, sollten Sie sicherstellen, dass die verwendete TeamID derjenigen in Ihrer Firebase-Konsole entspricht. Ich ging ursprünglich zu meinem Apple-Entwicklerkonto und kopierte die Team-ID von meiner Mitgliedschaftsseite. Später stellte sich jedoch heraus, dass die von Xcode tatsächlich verwendete ID anders war. (Sie finden das in APP_TARGET > General > Signing > Signing Certificate. Für mich sah es aus wie iPhone Developer: My Name (TEAM_ID)).

Präfixiere deine TeamID in deinen URL-Typen mit deiner Bundle-ID  

Nachdem ich sichergestellt hatte, dass diese Übereinstimmungen in meiner Firebase-Konsole und Xcode übereinstimmten, war mein nächstes Problem der Bezeichner für mein URL-Schema. Normalerweise verwenden Sie hier Ihre Bundle-ID, aber Firebase fügt dieser in der Firebase-Konsole die Team-ID hinzu. Daher musste ich sie auch der ID im Abschnitt URL-Typen in Xcode voranstellen. 

Nach diesen beiden Korrekturen und dem erneuten Herunterladen der GoogleService-Info.plist-Datei hatte ich kein Problem, meine dynamischen Links zu öffnen.

2
Kyle H

Die Datei Apple-App-Site-Association wurde an diesem Speicherort hinzugefügt:

https://example.com/Apple-app-site-association

Unter iOS 9 hat es gut funktioniert, aber unter iOS 10 hat es nicht funktioniert.

Es schien, dass das Problem mit dem Pfad .well-known bestand:

https://example.com/.well-known/Apple-app-site-association

Wegen https://example.com/.well-known/Apple-app-site-association Pfad umgeleitet zu https://example.com

<Notice>: Allowing redirect 'https://example.com/.well-known/Apple-app-site-association' -> 'https://example.com/'
<Notice>: ### Rejecting AASA file size 154466 for URL https://example.com/.well-known/Apple-app-site-association

Meiner Meinung nach, wenn ein bekannter Pfad nicht richtig funktioniert, bricht er die universellen Verbindungen. 

2

Für mich war mein Fehler, dass unsere Website www.domain.com auf domain.com umleitet, so dass alle www.domain.com/* aus diesem Grund fehlschlagen. Hoffentlich hilft das.

1
wzhang84

Nach zwei Tagen totaler Verzweiflung glaube ich, ich habe es endlich behoben. Hier ist meine Lösung:

Es scheint, dass ältere Apps ein anderes App-Präfix verwenden als neuere Apps. Neuere Apps verwenden zu diesem Zweck nur die Team ID. Wenn das App-Präfix und die Team-ID nicht identisch sind, müssen Sie das Feld für die Fortsetzung der Aktivität in der Apple-App-Site-Zuordnungsdatei angeben:

{
    "activitycontinuation": {
        "apps": [
            "YOUR_APP_PREFIX.de.company.app"
        ]
   },
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "YOUR_APP_PREFIX.de.company.app",
        "paths": ["/*"]
      }
    ]
  }
} 

Eine andere Sache, die ich während meiner Höllenfahrt erlebt habe, war, dass das Löschen der App und das Neustarten des Geräts die einzige Möglichkeit zu sein scheint, diese Datei zu aktualisieren.

1
Sebastian Boldt

Nach zwei Tagen stellte sich für mich heraus, dass diese Art von Links (aus der Branche) 

anwendungslinks: xxxx.app.link

erst nach der Archivierung (auch Ad-hoc) der Anwendung arbeiten und auf dem Telefon installieren.

1
Bence Pattogato

Das Problem stellte sich für mich als Apple-app-site-association-Datei heraus. Laut Apple-Dokumentation ist nur der Parameter applinks erforderlich. Ich habe den Parameter activitycontinuation hinzugefügt und es hat funktioniert.

{
  "activitycontinuation": {
    "apps": [
      "9JA89QQLNQ.com.Apple.wwdc"
    ]
  },
  "applinks": {
    "apps": [],
    "details": [{
        "appID": "9JA89QQLNQ.com.Apple.wwdc",
        "paths": [ "/wwdc/news/", "/videos/wwdc/2015/*" ]
      }]
  }
}
1
Chris

Ich konnte Universal Links im iOS-Simulator mithilfe der Kalender-App testen. 

Ich habe gerade ein Ereignis erstellt und die URL, die ich testen wollte, im URL-Feld des Ereignisses hinzugefügt. Beim Anzeigen des erstellten Ereignisses können Sie einfach auf den URL-Link tippen, und Ihre App sollte sich öffnen.

1
Tiago Alves

Für zukünftige Leser, die diese Seite finden ...

Ich hatte eine ähnliche Situation. In meiner Situation funktionierte iOS10 jedoch mit AOK, und egal, was ich tat (Bump Build-Nummern, Löschen/Neuinstallieren usw.), schien iOS9 die Arbeit zu verweigern.

Ich kam von iOS10 dazu und musste iOS9 unterstützen. Die Dokumentation hier - https://developer.Apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html - gibt an, dass die Datei möglicherweise im Stammverzeichnis von gespeichert ist den Web-Server (zB /Apple-app-site-association) oder im bekannten Ordner (zB /.well-known/Apple-app-site-association). Da ich auch Android unterstütze, das ebenfalls den .well-Known-Ordner für eine ähnliche Datei verwendet, habe ich mich entschlossen, beides dort einzupflegen.

Bei Neuinstallationen unter iOS10 fordert es die Stammdatei eindeutig an, schlägt fehl, fordert die bekannte Datei an und ist erfolgreich.

Bei iOS9 wurde die Stammdatei eindeutig angefordert, fehlgeschlagen und sonst nichts getan.

Lösung: Wenn Sie iOS9 unterstützen, legen Sie die Datei unter /Apple-app-site-association ab.

0
greymouser

In meinem Fall die Anfrage für die AASA-Datei unter: https://example.com/Apple-app-site-association

Wurde umgeleitet zu: https://www.example.com/Apple-app-site-association

Der Kicker ist - Dies funktioniert gut unter iOS 11, schlägt jedoch unter iOS 9.3.5 fehl. Stelle dir das vor.

Lösung: Die Apple-app-site-association-Datei DARF NICHT DARÜBER HINAUS einer 302- oder 301-Weiterleitung für iOS 9 sein. (Um fair zu sein, wird dies auf der UL-Fehlerbehebungsseite angegeben.)

0
Jeff Ward

Hoffe, das hilft jemandem, denn ich habe ungefähr zwei Tage gebraucht, um das herauszufinden.

Wir mussten www. zu unserem associated-domains in unserer .entitlements -Datei hinzufügen.

        <string>applinks:www.yourdomain.com</string>
        <string>activitycontinuation:www.yourdomain.com</string>

Denn wenn wir yourdomain.com anstelle von www.yourdomain.com verwendet haben, haben unsere Server eine Umleitung durchgeführt -> 304 und dann den content-type: application/json für den Apple-app-site-association file nicht eingeschlossen.

NB. Die universellen Links funktionieren immer noch für yourdomain.com und www.yourdomain.com

0
SparkyRobinson

In meinem Fall bestand mein Fehler darin, Abfrageparameter in Pfaden anzugeben:

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "TEAM_ID.BundleIdentifier",
                "paths": [ "/auth-ui/hub?target=confirm&*" ]
            }
        ]
    }
}

wenn ich '? target = confirm & *' von Pfaden entferne, fängt es an zu arbeiten

0
Vins

Ich habe nicht gesehen, dass jemand eine Lösung für Flask geliefert hat.

Das hat bei mir funktioniert.

Wenn Sie Flask verwenden, legen Sie die "Apple-App-Site-Association" in Ihrem statischen Ordner ab und fügen Sie diese dann Ihrer app.py-Datei hinzu.

@application.route('/Apple-app-site-association', methods=['GET'])
def Apple_app_site_association():
    return application.send_static_file('Apple-app-site-association')
0
Josh Wolff

Nachdem ich alle Antworten von oben implementiert und getestet hatte, dass die AASA-Datei tatsächlich mit der Antwort von mpoisot heruntergeladen wurde, bestand mein Problem darin, dass in Xcode die zugehörige Domäne hinzugefügt wurde:

applinks:example.com

und in meiner Notizen-App versuchte ich zu verwenden:

Https://example.com

weil meine AASA nicht signiert ist und ich sicherstellen wollte, dass ich sie über HTTPS bedient habe. Es hat also funktioniert, als ich in meiner Notizen-App versucht habe, Folgendes zu verwenden:

 example.com

Es funktioniert für mich auf einem physischen Gerät und verwendet iOS 12.1.2 entweder mit einem Entwicklungs-Build von Xcode oder einem Distributions-Build von Testflight

0
Jorge Duque

Ich werde auch meine Notizen zur Fehlerbehebung setzen.

Grundsätzlich haben wir 2 Teile, die miteinander verknüpft werden sollten: 1) Website und 2) iOS App.

  1. Für die Website gab es nur ein Problem: Der MIME-Typ für die Apple-app-site-association -Datei war nicht application/json.

    Auch API Validation Tool hat uns nicht weitergeholfen, für test Umgebungen hieß es

Fehler, keine Apps mit Domain-Berechtigungen Die Berechtigungsdaten, mit denen die doppelte Deep-Link-Authentifizierung überprüft wird, stammen aus der aktuell veröffentlichten Version Ihrer App. Die Aktualisierung dieser Daten kann 48 Stunden dauern.

aber am Ende war die Website in Ordnung.

Wir haben die Webprotokolle überprüft, haben die GET-Anforderung für die Apple-app-site-association -Datei gesehen und beschlossen, zur iOS-App zu wechseln.

  1. Für den Umgang mit iOS App-Setup ist es gut, Console App mit Filterung zu haben, um nur den swcd Prozess anzuzeigen, als wurde bereits in diesem Thread erwähnt.

In unserem Fall bestand das Problem darin, dass wir uns auf die Platzhalter-URL in der Form: applinks:*.prod_site_name.com verlassen und denken, dass * alle vorbereitenden Testumgebungen abdeckt, wie https://test_env.num4.prod_site_name.com, aber dies funktioniert nicht. Die Konsole zeigte:

Anfrage für Domain '* .prod_site_name.com', URL ' https://prod_site_name.com/.well-known/Apple-app-site-association ' gestartet

In unserem Fall bestand die Lösung darin, testspezifische App-Links für das Testziel der App bereitzustellen, wie z. B .: applinks:test_env.num4.prod_site_name.com

0
IVtrue