sesion puedo puede podido permiso mac iniciar imposible este dispone crear conectarse conectar apple app ios objective-c app-store deep-linking openurl

puedo - El sistema iOS se bloquea antes de abrir la URL de App Store



no se puede conectar a app store (1)

Como no existe una documentación adecuada sobre cómo funciona, es difícil determinar la causa.

Déjame avanzar una teoría.

  • Abrir una aplicación desde el navegador provoca un cambio de contexto; De hecho, desde el navegador a la App Store. Así que por primera vez costaría un tiempo, mientras que en las siguientes se abrirá más rápido a medida que se abra desde la caché.

  • Si considera que AppStore usa una conexión Keep-alive entre iOS AppStore en el dispositivo y iOS AppStore Server por primera vez, la apertura del socket en el servidor parecería más alta que las veces posteriores, ya que una solicitud posterior reutilizaría la misma conexión.

  • Si la aplicación se elimina de la memoria caché, se demoraría un poco más en abrirse y se produciría un pequeño retraso en la red, ya que la aplicación habría perdido la cookie para la conexión de subsistencia, entonces la aplicación tendría que soportar la Coste de apertura de la conexión.

  • También hay otros factores como Safari colgando, lo que resulta en un cierto retraso. Puedes leer cómo se puede arruinar Safari here .

  • iOS no tiene recolección de basura, solo cosas como ARC (conteo automático de referencias). Cada uno tiene sus propias ventajas y desventajas. A veces, estos inconvenientes pueden surgir y causar algún problema; nada debe ser descartado. Por ejemplo, una pérdida de memoria o un bloqueo de la aplicación puede dejar punteros colgando.

  • Técnicamente, el uso de itms-apps debería dar una pequeña ventaja sobre la URL simple de iTunes, ya que debería restringir la búsqueda; itms-apps significa iTunes Music Store-apps. Una URL simple de iTunes puede ser un Libro (iBook), Música (iTunes), Aplicación (Appstore), etc. así que iOS podría tener que decidir qué aplicación lanzar.

Espero que esto ayude.

  1. Tengo una página HTML con un botón Descargar aplicación. Cuando un usuario de iOS hace clic en él, redirige a los usuarios al App Store a través de itms-services. El enlace que usé aquí es:

    window.location.replace("itms-apps://itunes.apple.com/app/id578505616");

    Parece que en un navegador móvil:

  2. Facebook / Pinterest tiene un navegador en la aplicación que solicita el consentimiento del usuario antes de redirigir al usuario fuera de su aplicación en forma de un cuadro de alerta con la aplicación Cancelar o Abrir, cuya aplicación abierta abre el enlace externo. Se parece a esto:

Se ve así con el cuadro de alerta:

Suponiendo que el usuario está utilizando un dispositivo iOS. El comportamiento esperado aquí es cuando se hace clic en el botón Abrir aplicación, el usuario se redirige a la aplicación App Store. Sin embargo, estamos viendo un retraso de 10 segundos antes de que ocurra la redirección real.

Vea los videos a continuación:

https://www.youtube.com/watch?v=_dgh7v-IsK8

https://www.youtube.com/watch?v=_LFHeRnBFgg

https://www.youtube.com/watch?v=82Y-kj-pMyw

Notas:

  1. Parece que no puedo reproducir esto en todo momento. Solo es reproducible a veces. ¡Lo siento!
  2. Una vez que un dispositivo se retrasa por primera vez, todos los enlaces posteriores a las tiendas de aplicaciones serán rápidos, hasta aproximadamente 1 día de retraso. Reiniciar el teléfono y / o borrar la memoria caché del navegador y / o reinstalar Facebook / Pinterest no ayuda a reproducir esto.
  3. Intenté reemplazar el itms-apps: // enlace con https://itunes.apple.com/us/app/trusper-tips-tutorials-how/id578505616?mt=8 , pero todavía estábamos experimentando el retraso del tiempo a tiempo
  4. El retraso parece ser exactamente de 10 segundos.

¿Por qué se produce este retraso? Esto parece una mala experiencia de usuario.

Mi teoría actual es que el problema está en el lado de Apple. El motivo es que, una vez que se hace clic en el botón Abrir aplicación, está fuera de la mano de nuestro sitio web, así como de la aplicación Facebook / Pinterest. Supongo que, una vez que se hace clic en el botón, iOS está manejando el cambio de contexto real de una aplicación a otra. Por lo tanto, sugiere que la llamada al sistema que realmente está abriendo la URL está bloqueada, o la llamada al sistema que está abriendo la aplicación App Store? Sin embargo, no he podido probar que ninguno de los dos sea verdadero o falso. ¿Alguien tiene una mejor explicación?

[Editar 04/02/2015] Puedo confirmar que este problema todavía existe en mi teléfono (iPhone 5S con iOS 8.2). Investigué un poco más y encontré este artículo que creo que sugiere que se trata de un error relacionado con el sistema iOS: OpenUrl congela la aplicación durante más de 10 segundos.