Cambio de enfoque / tarea a Safari desde una aplicación de iOS

Tenemos lo que creo que es un set bastante inusual de requisitos para una aplicación web mobile. Queremos poder tener el siguiente flujo:

  • El usuario usa nuestra aplicación web para realizar algunas tareas (la aplicación web también está destinada para su uso en un escritorio)
  • Llevan a cabo una operación que requiere pasar el control a una aplicación iOS nativa para comunicarse con algo de hardware (usaremos manejadores URI para esto)
  • La aplicación nativa de iOS hace lo suyo (potencialmente se comunica con su propio backend), y finalmente completa su process
  • Queremos pasar el control de la aplicación iOS a nuestra aplicación web.

Ahora, como lo veo, tenemos algunas opciones:

  1. Abrimos una nueva pestaña en Safari usando algo como [[UIApplication shanetworkingApplication] openURL:url]
    • La nueva pestaña puede comunicarse con la pestaña anterior "de alguna manera" (localstorage?) Y tener la pestaña anterior cerrada
    • Lo mismo, pero la nueva pestaña se cierra por sí sola y confiamos en que la pestaña anterior sea el "último enfoque"
  2. Tenemos el usuario para cambiar el control de nuevo a nuestra aplicación web.
  3. Hay otra forma de simplemente "cambiar el control" de vuelta a safari sin abrir una nueva pestaña

Obviamente (3) es nuestra opción preferida pero no he podido identificar ninguna forma con las API públicas para permitir que esto suceda. Lo que es un poco confuso es que safari y google maps en iOS 7 parece que te permiten hacer esto. Usted puede:

  • Google para una dirección
  • Haz clic en el map que aparece, que abre Google Maps
  • Google Maps muestra una barra de 'volver al safari' en la parte superior de la aplicación
  • Al hacer clic, se transfiere el enfoque a safari sin abrir una nueva pestaña.

¿Hay algo que me falta aquí?

Aclamaciones.