2011-01-21 15 views
8

he utilizado un esquema de URL personalizado en mi aplicación para abrirlo desde otra aplicación (que puede ser la mía). Supongo que más de una aplicación en la tienda de aplicaciones puede tener el identificador de URL que utilicé.si el usuario tiene dos aplicaciones con el mismo esquema de URL , ¿qué se abrirá? ¿La aplicación de URL personalizada será aprobada por Apple?más de una aplicación tiene el mismo identificador de URL para la aplicación de URL personalizada?

Respuesta

15

Las aplicaciones de URL personalizadas son aceptadas por Apple. Sin embargo, si varias aplicaciones en el dispositivo han registrado el mismo esquema de URL, entonces el comportamiento no está definido. De iOS Application Programming Guide, "si varias aplicaciones de terceros se registran para manejar el mismo esquema de URL, no está definido cuál de las aplicaciones se selecciona para manejar las URL de ese tipo".

+0

pero eso no responde la pregunta. ¿¿¿Qué hace??? – eggie5

+4

@ eggie5, Apple afirma claramente que el comportamiento no está definido. Entonces no puedes decir exactamente lo que sucederá. – taskinoor

+3

@tasknoor Creo que "está claramente enunciado" y que decir "indefinido" es más bien un oxímoron. ¿Que pasa? ¿Surge un error? ¿El teléfono se apaga, el mercado de valores se cuelga? – eggie5

10

Respuesta breve: La primera aplicación para registrar URL a veces se abre, pero no se abrirá con frecuencia. En otras ocasiones, se abrirá la segunda aplicación para registrarse pero a menudo fallará. Básicamente falla mucho y realmente está "indefinido". Use http://handleopenurl.com/ para evitarlo.

respuesta Largo:

he creado dos aplicaciones, FirstApp y SecondApp, y registró la misma URL testURL para ambos.

Cargué FirstApp y la URL funcionó como se esperaba, abriendo la aplicación.

Luego cargué SecondApp y comenzó el temido comportamiento indefinido. Actualmente, en iOS 7, si dos aplicaciones tienen la misma URL personalizada, aparece un modal que pregunta

Abra esta página en "Nombre de la primera aplicación"?

Cuando toca la opción Abrir, falla y no ocurre nada. Si toca o ingresa nuevamente en el enlace, se ejecutará la primera aplicación instalada con esa URL, en nuestro caso FirstApp.

Así que, en efecto, la segunda aplicación que se registra nunca se abre, y la primera aplicación falla cada dos llamadas a la URL. Sin comportamiento ideal.

Lo que lo hace aún peor es que eliminé ambas aplicaciones y luego cambié el orden en que las instalé y los resultados no son consistentes. A veces es una aplicación, luego, al volver a cargar ambas aplicaciones, es la otra. El comportamiento realmente es "indefinido".

La mejor práctica es usar http://handleopenurl.com/ para ver qué URL se han registrado y elegir una que no entre en conflicto con otras aplicaciones. No puede "robar" otra URL porque no puede estar seguro de que su aplicación se abrirá y no de la otra aplicación.

Cuestiones relacionadas