web-dev-qa-db-fra.com

Le message "Safari ne peut pas ouvrir la page car l'adresse n'est pas valide" s'affiche lorsque j'essaie de lancer mon application à partir d'un site Web

Appareil: iPhone 5/iOS 9.

J'ai un application iOS que je dois lancer à partir d'un site Web. J'ai pu le faire via un schéma d'URL personnalisé.

Lorsque je clique sur le bouton "Ouvrir l'application" sur le site Web, une boîte de dialogue d'alerte s'affiche indiquant "Safari veut ouvrir MyApp" avec les boutons OK et Annuler.

Cliquer OK : tout va bien. L'application est lancée à partir du site Web parfaitement.

En cliquant sur Annuler: la première fois, il ne fait qu'empêcher le lancement de l'application, ce qui est correct.

Lorsque je clique à nouveau sur le bouton "Open App" à partir du site Web, je m'attends à ce que la même boîte de dialogue d'alerte "Safari veut lancer MyApp" apparaisse encore une fois, - ce qui ne se produit pas.

À la place, il affiche une boîte de dialogue qui dit "Impossible d'ouvrir la page - Safari ne peut pas ouvrir la page car l'adresse n'est pas valide" avec un bouton OK.

Mon hypothèse était que chaque fois que vous cliquez sur ce lien dans le site Web (qui peut lancer l'application via un schéma d'URL personnalisé), je devrais être invité à tout moment avec une boîte de dialogue d'alerte "Safari veut ouvrir MyApp".

Qu'est-ce que j'oublie ici ? Appréciez votre aide à l'avance.

8
Vignesh Kumar

C'est un comportement connu.

Si vous appuyez sur facebook://feeds et l'ouvrir alors Safari ne mettra pas sur liste noire le schéma facebook pour cela onglet Safari. Vous seriez autorisé à ouvrir facebook://profile, facebook://feeds, facebook://settings, etc. sur cet onglet

Cependant, si vous cliquez sur "Annuler", vous ne pourrez plus utiliser d'URL avec ce schéma pour cet onglet uniquement c'est-à-dire que vous ne pourrez pas ouvrir facebook://profile, car il a été mis sur liste noire pour cet onglet.

Que devrais tu faire?

Ouvrez un nouvel onglet et réessayez. Il ne serait plus mis sur liste noire pour cet onglet.

Cela aurait été bien mieux si Apple a invité son utilisateur avec des options telles que:

Refuser une fois. Toujours refuser. Autoriser toujours

Mais je suppose que s'ils l'ont fait, ils devraient fournir à l'utilisateur d'autres moyens de personnaliser le comportement par hôte/schéma. Évidemment Apple ne veut pas permettre cela.

3
Honey