2011-02-24 11 views
7

Si otras 2 aplicaciones registran el mismo esquema de url, ¿cómo maneja iOS esto?¿Cómo maneja iOS la duplicación de esquemas de URL?

+0

@Manni Vea aquí: http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/StandardBehaviors/StandardBehaviors.html%23//apple_ref/doc/uid/TP40007072-CH4- SW26 – Eonil

Respuesta

2

Presentará una vista de UIActionSheet que le permite al usuario elegir qué aplicación lanzar (un buen ejemplo son las aplicaciones que manejan archivos .doc). Ahí es donde se utiliza el icono que indique - en los botones de la hoja de la acción cuando se le muestra al usuario

+2

Lo probé con 2 aplicaciones con el mismo esquema de url y el mismo identificador de url en un ipod touch 5.0, no me da UIActionSheet y simplemente ejecuto el que instalé primero. ¿Hay algo más que afecte el comportamiento? – hago

+2

@Nick No creo que eso sea cierto. – pre

+0

No. Estás hablando de tipos de archivos. OP está hablando de esquema de URL. No se definió qué aplicación se lanzó. Por lo que sé. –

9

El iOS Documentation lee:

Nota: Si más de una aplicación de terceros se registra para manejar la misma URL esquema, actualmente no hay ningún proceso para determinar qué aplicación se le dará ese esquema.

El comportamiento de los sistemas operativos no está definido si hay dos aplicaciones registradas para un esquema de URL, por lo tanto, usted debe tratar de definir un controlador que es específica para su aplicación para evitar esta situación (por ejemplo, en lugar de awesomeMapsApp://maps://).

1

Aquí es lo que he probado:

iOS 5: la primera aplicación instalada será elegido. Si borras la primera aplicación instalada, los demás no almorzarán a menos que vuelvas a instalarla.

iOS 6: se elegirá la última aplicación instalada. Si elimina la última aplicación instalada, se elegirá la aplicación anterior instalada.

+0

alguna actualización para iOS 7? Hice una búsqueda y creo que el comportamiento aún no está definido: / – Hlung

1

En realidad, puede ser muy problemático. Por ejemplo, hasta marzo de 2016, una aplicación llamada Grabb maneja los esquemas PayPal de modo que si su aplicación intenta abrir PayPal (con toda la seguridad, etc. de la llamada) lanza en su lugar Grabb, y no puede hacer nada al respecto. Incluso con el openURL alertView agregado en iOS 9, aún puede ser un gran problema de seguridad.

Cuestiones relacionadas