Pourquoi avons-nous besoin du champ" URL Identifier " (CFBundleURLName) pour utiliser le schéma D'URL personnalisé sur iOS?
j'utilise un schéma D'URL personnalisé pour ouvrir mon application iOS lorsque ce lien web est pointé sur le périphérique: Demo77: / / someurl
pour le configurer, j'ai ajouté Demo77 comme élément dans le tableau URL Schemes (CFBundleURLSchemes) dans le tableau Info.plist.
dans la documentation d'Apple , dit-j'ai aussi besoin de comprendre identifiant d'URL (CFBundleURLName) chaîne de clé dans l'Info.plist. Cette clé contient le"nom abstrait du schéma D'URL".
j'ai fait pas inclure identifiant d'URL clés et les liens encore ouvrir mon application. Tout fonctionne sans l'identificateur D'URL.
Question: Ai-je vraiment besoin d'inclure la touche identificateur D'URL dans la liste? Et si oui, pourquoi?
mise à Jour
cette question est différente de identificateur D'URL et schéma D'URL où on demande à quoi sert la touche" identificateur D'URL". Je ne demande pas à quoi il sert. Je demande si nous avons besoin d'utiliser un "identificateur D'URL"? Les schémas D'URL dans mon application fonctionnent parfaitement sans elle. Notez que les réponses à la URL de l'identificateur et le schéma d'URL la question ne s'adresse pas mon question à tous. Désolé si ma question initiale n'était pas assez claire.
3 réponses
selon apple docs
l'identifiant que vous fournissez avec votre schéma distingue votre application des autres qui déclarent soutenir le même schéma .
bien que l'utilisation d'une chaîne DNS inversée soit une pratique exemplaire, cela n'empêche pas les autres applications d'enregistrer le même schéma et de gérer les liens associés. Utilisation universelle liens au lieu de schémas D'URL personnalisés pour définir des liens qui sont uniquement associés à votre site web.
donc pour répondre à votre question ajouter un identifiant d'url ne change pas beaucoup,mais il est préférable de l'inclure,car il est spécifié par apple.
si vous avez 2 applications installées avec le même schéma D'URL comme:
yourscheme: / /
alors vous avez 2 applications en conflit.
Comment le système décider d'ouvrir l'application de lancement?
selon la Inter-App Communication documentation
Si plus d'un tiers app registres de gérer la même URL il n'existe actuellement aucun processus permettant de déterminer quelle application que régime
s'il vous Plaît cochez la case ce réponse de l'utilisateur qui a connu la question:
aussi loin que j'ai testé et expérimenté, si vous avez 2 en conflit applications, il semble être le premier installé qui est utilisé, et lorsque cette application est supprimé de la seconde application qui est maintenant la seule App le support du schéma D'URL spécifique n'est toujours pas utilisé
J'espère que ça aidera.
L'identificateur D'URL est l'adresse de domaine inversée qui doit être la même que votre Identificateur de faisceau par exemple com.nom de la société.appname
les schémas D'URL sont le début de L'URL E. g 'appname'. Lorsque vous l'appelez comme une URL, il cible l'identifiant du paquet qui lance l'application.
la Référence : Identifiant d'URL et les Schémas d'URL