3 votos

¿Los revisores de la App Store permitirán scripts descargados como texto, si se analizan a través de WebKit?

Según Apple permite la actualización de código en aplicaciones móviles, por Alice Yu en octubre de 2014, los revisores de la App Store permiten que se descargue y ejecute código siempre y cuando sea:

  1. No sea código ejecutable, solo interpretado.
  2. Descargado y ejecutado por el Webkit de Apple.
  3. Un cambio pequeño es decir que no cambie el propósito de la aplicación.

Estas condiciones han sido utilizadas como una laguna legal por frameworks como Meteor, Cordova/Phonegap e incluso aplicaciones como Cocos2djs. Mientras que Meteor y Cordova están basados en el webview de iOS, son descargados y ejecutados a través de webkit, pero Cocos2djs está basado en spidermonkey y tiene la capacidad de actualizar el contenido y scripts del juego a través del "Asset Manager" de Cocos2djs es decir, no a través de webkit (webview).

Entonces, ¿qué pasaría si código/scripts en lenguajes distintos a javascript como ruby, python o lua fuesen enviados como una "cadena" en un archivo JSON para ser interpretados DENTRO de webkit (webview) y luego pasados al intérprete para ser ejecutados? ¿Permitiría Apple esto tal como está?

  1. Solo código/scripts interpretados.
  2. Descargado e INICIALMENTE ejecutado por el Webkit de Apple antes de ser enviado a un intérprete para una ejecución adicional.
  3. Haciendo cambios que no alteren el propósito o intención de la aplicación.

0 votos

Bienvenido a Ask Different. He eliminado la pregunta de seguimiento. Si es necesario, siéntase libre de preguntar cómo contactar con el soporte de desarrolladores como una segunda pregunta.

3voto

Oskar Puntos 1242

El equipo de revisión de Apple rechazará tu aplicación si parece capaz de descargar código ejecutable. Han optado por rechazar aplicaciones que legítimamente parecen que solo "interpretarán" el código, ya que Apple tiene mucho más que perder cuando terceros descubren este camino para ejecutar código e inyectar el código entre su servidor web y su aplicación.

Las apuestas son demasiado altas, así que querrás ser muy cuidadoso y entender el riesgo para tu aplicación si incluyes esta funcionalidad.

La aplicación Briefs - que fue enviada a la tienda de aplicaciones a fines de 2009, creo, estuvo detenida en este estado de revisión de "¿cuál es la diferencia entre código interpretado, datos de juego descargables (piensa en nuevos niveles para un juego), código ejecutable" hasta abril de 2013.

Claramente, hay muchas más aplicaciones en la tienda que utilizan intérpretes, por lo que tu camino hacia la aprobación probablemente se suavizará por los esfuerzos y el dolor de los pioneros que acostumbraron a Apple a la idea de que pueden garantizar que el código y la configuración interpretados no se conviertan en ejecutables.

0 votos

Gracias por la información @bmike. Según entiendo, la aplicación briefs está descargando datos binarios y no datos interpretados como .py, .rb o .lua. Además, en lugar de enviar los datos directamente a la red a la aplicación, estos archivos serían desempaquetados (analizados) por el Webview de Apple (en javascript) como json antes de enviar el archivo para ser interpretado por la máquina virtual.

0 votos

Olvidé mencionar. Es como si alguien pudiera actualizar su aplicación de Cordova modificando una API nativa disponible a través de JavaScript.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X