web-dev-qa-db-fra.com

Plusieurs applications avec le même schéma d'URL - iOS

Donc, pour ma nouvelle application, j'ai un schéma d'URL pour que les gens puissent lancer mon application à partir d'une autre application ou d'un site Web ... "myapp: //" ... Alors, que se passe-t-il s'il existe une autre application dans l'AppStore qui a le même schéma d'URL que le mien? Ou si quelqu'un essaie de voler mon schéma d'URL?

43
Albert Renshaw

Si deux applications enregistrent le même schéma d'URL personnalisé, il n'est pas défini quelle application sera réellement lancée. Un sera lancé mais il n'y a aucun moyen de le savoir.

Voici un vrai kicker. Si vous avez deux applications sur votre appareil avec le même schéma d'URL et que vous supprimez celle qui est réellement lancée, l'autre ne sera pas lancée par l'URL sans redémarrer l'appareil iOS.

Votre meilleure solution consiste à vous assurer que votre schéma d'URL personnalisé n'est pas trivial, il y a donc peu de chances qu'une autre application ait le même schéma.

37
rmaddy

Selon les documents Apple:

Si plusieurs applications tierces s'enregistrent pour gérer le même schéma d'URL, il n'est pas défini quelle application est sélectionnée pour gérer les URL de ce type.

Citation exacte des documents Apple Apple, pendant 8 années consécutives:

Remarque: Si plusieurs applications tierces s'enregistrent pour gérer le même schéma d'URL, il n'existe actuellement aucun processus pour déterminer quelle application recevra ce schéma.

Sources:

En septembre 2019, cette partie de la documentation a été supprimée du Apple. Le document connexe le plus proche peut maintenant être Register Your URL Scheme .

8
Dustin

Mis à jour pour 2016

La politique d'Apple a changé depuis 2012. Aujourd'hui, ils indiquent que plusieurs applications ne seront pas autorisées à s'inscrire au même système . Le temps d'enregistrement est un endroit beaucoup plus propre pour résoudre les conflits que le temps d'exécution, car il évite les problèmes de sécurité évoqués par les autres réponses.

Remarque: Si plusieurs applications tierces s'enregistrent pour gérer le même schéma d'URL, il n'existe actuellement aucun processus pour déterminer quelle application recevra ce schéma.

Source: https://developer.Apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//Apple_ref/doc/uid/TP40007072-CH6- SW1

6
Bosh