¿Apple actualmente acepta aplicaciones de iPhone con Lua incorporado?


11

Estaba investigando esto y parece que no puedo encontrar una respuesta concreta.


1
Angry Birds usa Lua como su formato de archivo de nivel (bueno, al menos en el N900).
mrbinary

Respuestas:


12

La sección 3.3.2 del acuerdo del programa para desarrolladores de iOS dice (en parte) lo siguiente:

Una aplicación no puede descargar o instalar código ejecutable. El código interpretado solo se puede usar en una Aplicación si todos los scripts, códigos e intérpretes están empaquetados en la Aplicación y no se descargan.

Cuando el acuerdo de licencia se actualizó en 2010, este cambio fue cubierto por la mayoría de los principales sitios de noticias de Apple (ya que fue una relajación de las reglas anteriores). Por ejemplo, aquí .

Para ese fin, Lua debería estar bien siempre que todo el código que ejecute esté incluido dentro de los recursos de su aplicación y nunca se descargue de forma remota (para que Apple pueda verificarlo). Por supuesto, no soy abogado, por lo que mi interpretación de los documentos legales debe tomarse con una pizca de sal adecuadamente grande.


¿Estoy en lo cierto al pensar que el acuerdo de desarrollador solía contener una 'cláusula del club de lucha' que indica que no debes decir qué hay en el acuerdo?
George Duckett

1
@George: Dado que el programa de desarrollador está abierto a cualquier persona que esté dispuesta a pagar $ 100 (y usted acepta los términos antes de pagar), dudo que tuviera esa cláusula. Por lo menos no tendría ningún sentido.

1
Advertencia: El código se puede descargar con compras en la aplicación, como si tuviera la intención de tener niveles descargables con LUA.
DampeS8N

5

Teniendo en cuenta que Corona SDK existe, diría que sí.

Apple también ha permitido que Adobe cree un tiempo de ejecución de AIR para iOS.


2
IIRC Monotouch usa específicamente el compilador AOT para evitar tener código JIT. No estoy seguro de que sea el mejor ejemplo aquí.
Jimmy

@ Jimmy eso es cierto, he revisado la respuesta.
michael.bartnett

@ Jimmy: Eso es cierto, pero prohibir JIT no es lo mismo que prohibir lenguajes incrustados.

2

Apple permite cualquier lenguaje de secuencias de comandos, hay un problema, debe estar empaquetado en la aplicación o complementos de la aplicación que pasan por Apple, no se puede descargar de un servidor externo y el usuario no puede editarlo.


Con respecto a "el usuario no puede editarlo": la aplicación gratuita Paragraf permite al usuario editar sombreadores GLSL en el dispositivo. (Ahora, técnicamente, GLSL no es un lenguaje de script, pero creo que la presencia de esta aplicación sigue siendo un punto de datos vale la pena considerar.)
smokris

1
Depende de su definición de lenguaje de script, es un código que se ejecuta en tiempo de ejecución. Pero estoy de acuerdo, es una idea bastante interesante.
Matt Jensen el
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.