schemes open lsapplicationqueriesschemes link app ios url-scheme

open - ¿Por qué necesitamos el campo plist “Identificador de URL”(CFBundleURLName) para usar un esquema de URL personalizado en iOS?



url schemes (3)

El identificador de URL es la dirección de dominio invertida, que debe ser la misma que su identificador de paquete, por ejemplo, com.comnombre_de_aut.aponombre

Los Esquemas de URL son el inicio de la URL, por ejemplo, ''appname''. Cuando llama a esto como una URL, se dirige al identificador del paquete que inicia la aplicación.

Referencia: identificador de URL y esquemas de URL

Estoy usando un esquema de URL personalizado para abrir mi aplicación iOS cuando este enlace web se toca en el dispositivo: Demo77: // someurl

Para configurarlo, agregué Demo77 como un elemento a la matriz de Esquemas de URL (CFBundleURLSchemes) en el Info.plist.

La documentación de Apple dice que también necesito incluir la clave de cadena del identificador de URL (CFBundleURLName) en la lista de información. Esta clave contiene el "nombre abstracto del esquema de URL".

No incluí la clave de identificación de URL y los enlaces siguen abriendo mi aplicación. Todo funciona sin el identificador de URL.

Pregunta: ¿Realmente necesito incluir la clave de identificador de URL en el plist? Y si es así, ¿por qué?

Actualizar

Esta pregunta es diferente del identificador de URL y el esquema de URL donde se pregunta para qué se usa la clave "Identificador de URL". No estoy preguntando para qué se usa. ¿Estoy preguntando si necesitamos usar "Identificador de URL"? Esquemas de URL en mi aplicación funcionan perfectamente bien sin ella. Tenga en cuenta que las respuestas al identificador de URL y la pregunta del esquema de URL no abordan mi pregunta en absoluto. Lo siento si mi pregunta inicial no fue lo suficientemente clara.


Según los documentos de Apple.

El identificador que proporciona con su esquema distingue su aplicación de otras que declaran que son compatibles con el mismo esquema .

Aunque el uso de una cadena DNS inversa es una buena práctica, no impide que otras aplicaciones registren el mismo esquema y manejen los enlaces asociados. Use enlaces universales en lugar de esquemas de URL personalizados para definir enlaces que están asociados de forma única con su sitio web.

Entonces, para responder a su pregunta, agregar un identificador de URL no cambia mucho, pero es mejor incluirlo, ya que está especificado por Apple.


Si tienes 2 aplicaciones instaladas con el mismo esquema de URL como:

yourscheme: //

entonces tienes 2 aplicaciones conflictivas.

¿Cómo decidirá el sistema abrir qué lanzamiento de aplicación?

De acuerdo a la documentación de Comunicación Inter-App.

Si más de una aplicación de terceros se registra para manejar el mismo esquema de URL, actualmente no hay un proceso para determinar qué aplicación recibirá ese esquema

Verifique esta respuesta para el usuario que experimentó el problema:

También, en la medida en que lo he probado y experimentado, si tiene 2 aplicaciones en conflicto, parece ser la primera que se usó, y cuando se elimina, la segunda aplicación que ahora es la única que admite el esquema de URL específico. todavía no se usa

Espero eso ayude.