2017-06-06 1 views
1

Lorsque l'application est installée, je vois une demande à https://example.com/.well-known/apple-app-site-association, qui obtient une réponse 200 avec la réponse json appropriée.Les liens profonds universels n'ouvrent pas l'application la première fois qu'ils sont essayés

chose étrange 1: l'application continue alors à essayer de demander/apple-app-site-association qui échoue en tant que le fichier pas là dans la racine. Pourquoi retomberait-il dans ce fichier s'il a déjà le fichier .well-known?

Une fois l'application terminée, je peux accéder à Notes ou à quelque chose et cliquer sur un lien profond, par ex. https://example.com/some/path, ceci ouvrira en safari.

chose bizarre 2: avant que le site s'ouvre dans safari, il y a plusieurs demandes à la fois. Well-known/apple-app-site-association et/apple-app-site-association. Je suis à peu près sûr que la demande connue est la première, et il y en a une de plus à la version connue que la version racine. Après cela, je peux maintenant revenir à Notes et cliquer sur le lien profond et il va maintenant ouvrir correctement l'application. Tout est bien avec le monde.

Des idées sur ce qui pourrait être erroné avec les premières réponses bien connues qui les empêchent de fonctionner et de générer les demandes de repli? Quelqu'un d'autre avec ce problème ou des idées? Ci-dessous est une capture d'écran expurgée de Charles (l'installation de l'application se termine à 11:24:18), et une réponse expurgée de l'association .well-known/apple-app-site-association.

enter image description here

HTTP/1.1 200 OK 
Content-Type: application/json 
Last-Modified: Tue, 06 Jun 2017 00:50:40 GMT 
Accept-Ranges: bytes 
ETag: "[redacted]" 
Content-Length: 156 
Connection: Keep-alive 

{ 
    "applinks": { 
     "apps": [], 
     "details": [ 
      { 
       "appID": "[redacted].com.[redacted]", 
       "paths": [ "*" ] 
      } 
     ] 
    } 
} 
+0

Une erreur est survenue dans la console lorsque les demandes ayant échoué se produisent: '6/6/17, 12:02:09 pm swcd (CoreUtils) [180]: ### URL de rejet 'https://example.com /.well-known/apple-app-site-association 'pour la méthode auth' NSURLAuthenticationMethodServerTrust ': -6754/0xFFFFE59E kAuthenticationErr' Ce qui semble pointer vers une erreur TLS. – David

Répondre

2

Il s'agit d'un problème que vous rencontrez uniquement parce que vous utilisez la connexion par proxy (à l'aide de Charles Proxy, mais toute tentative de proxy entraînerait le problème). Apple détecte que la connexion a été mandatée et ne fait pas confiance au fichier téléchargé.

Dans les scénarios du monde réel, vous ne rencontrerez pas ce problème car vos utilisateurs n'utiliseront pas Charles Proxy.

+0

C'est exactement correct. Et cela a aussi du sens. C'est le proxy SSL spécifiquement, juste passer par Charles, c'est bien. La raison pour laquelle j'interviens par procuration était d'essayer de savoir pourquoi cela ne fonctionnait pas - cela devait être quelque chose d'autre (probablement un préfixe d'identifiant d'application incorrect) qui a été résolu depuis. – David

0

iOS deux endroits racle à chaque fois. Je ne suis pas sûr s'il y a un ordre de préférence défini si les deux fichiers ne correspondent pas, mais je sais que vous rencontrez un comportement étrange dans cette situation. Essayez de l'éviter.

Il semble que vous ayez effectivement un problème de configuration qui empêche le fichier de valider correctement lors de la première tentative. Puisque vous avez rédigé tous les détails qui pourraient me permettre d'examiner cela, je ne peux malheureusement pas vous aider beaucoup.

Le nouveau clic sur le lien après l'échec initial est nouveau - je n'ai jamais vu cela auparavant. Il doit s'agir d'un ajout récent pour aider à détecter les situations qui, autrement, entraîneraient un comportement de lien universel rompu (congestion du réseau lors de l'installation, etc.). Si vous êtes en mesure de déboguer votre erreur de scrape initiale, cela devrait cesser de se produire.

+0

Merci pour votre réponse. Le préfixe de l'application et l'identifiant du bundle sont définitivement corrects, cela fonctionne finalement. Les seules autres choses que j'ai sorti sont les ETag et certains cookies qui viennent juste de notre site. Quelles autres informations souhaiteriez-vous voir dans la réponse? De plus, j'ai regardé le journal de la console ios depuis le démarrage (je vais ajouter un commentaire aux quêtes) et il semble pointer vers un problème d'installation TLS sur le serveur. Le certificat SSL vérifie bien si ... – David

+0

Cela ressemble à un problème qui n'a rien à voir avec les liens universels. Une raison particulière pour laquelle vous mettez en œuvre vous-même au lieu d'utiliser un fournisseur de lien profond hébergé? –

+0

Nous voulons que les liens vers notre site s'ouvrent dans notre application. – David