2010-04-06 14 views
5

Estoy intentando cargar secuencias de comandos Lua en tiempo de ejecución en el iPhone. ¿Existe la posibilidad de hacer eso?Lua en el iPhone

¿Cómo puedo comenzar con Lua? No puedo encontrar algo Lo único que puedo encontrar es que esto debería ser posible, pero me pregunto cómo.

+0

¿Estás seguro de que es posible? IIRC Apple prohíbe el uso de idiomas interpretados en el iPhone. –

+1

@Timo Geusch: No es cierto. (Como ya se ha discutido varias veces aquí en SO.) Lo único que está prohibido es cargar código de fuentes que no son de confianza, como la red o el usuario. Si su código proviene de una fuente * de confianza * (que básicamente significa App Store), a Apple no le importa cómo lo ejecute: interpretarlo, compilarlo, diablos, enviarlo a China para ser evaluado a mano por los niños esclavos . Hay un montón de código interpretado en la tienda de aplicaciones, p. la aplicación Wikipedia que está escrita en Ruby. –

+3

Si no puede encontrar la documentación de Lua, probablemente no esté en posición de escribir mucho software. –

Respuesta

4

Lua docs son muy buenos, también lea PIL (Programación en Lua) la primera edición está disponible en línea, la segunda edición es barata en copia impresa.

Lua está diseñado específicamente para ser utilizado como un lenguaje incrustado, simplemente enlace a cualquier proyecto C (u Obj-C, o C++), y use C API para cargar scripts y ejecutarlos.

Tenga en cuenta que Apple prohíbe crear plataformas de scripting; pero AFAICT, eso solo significa que el usuario no debería poder agregar scripts Lua para mejorar su aplicación. Puede usar Lua incrustado para hacer que su aplicación sea más flexible y fácil de escribir.

+1

Al parecer, el restricciones han sido eliminadas Consulte http://www.apple.com/pr/library/2010/09/09statement.html – lhf

+0

Mientras lo leía, las restricciones eliminadas eran solo las que se agregaron recientemente: las que limitaban los idiomas y las herramientas. ahora las reglas están más cerca del original: use cualquier herramienta/idioma que desee, pero todo el código debe estar incrustado en la aplicación – Javier

7

Echa un vistazo a Corona SDK.

+0

Es un poco deprimente que las páginas web brillantes ni siquiera mencionen la palabra Lua. ¿Alguien puede comentar si esto es SDK vale los $ 99? –

+2

@Norman: ahora sí. – lhf

+0

Esta es la forma más rápida de producir aplicaciones/juegos de alta calidad, y punto. –

3

he recopilado Lua en una aplicación para el iPhone. Es bastante sencillo si has usado Lua en otros contextos. La única sorpresa es que el iPhone no expone su sistema de archivos de manera tradicional, así que terminé usando el paquete de recursos para almacenar scripts y tuve que reescribir la función lua_dofile para aceptar archivos del paquete.

Recomiendo compilar Lua en una aplicación que no sea iPhone antes de intentar usarlo en el iPhone. Una vez que comprenda que la c api calza en el marco móvil de cacao no es tan difícil.