2010-04-06 4 views
5

J'essaie de charger des scripts Lua sur l'iPhone. Y at-il une possibilité de faire cela?Lua sur l'iPhone

Comment puis-je commencer avec Lua? Je ne peux pas trouver quelque chose. La seule chose que je peux trouver est que cela devrait être possible, mais je me demande comment.

+0

Etes-vous sûr que c'est possible? IIRC Apple interdit l'utilisation de langages interprétés sur l'iPhone. –

+1

@Timo Geusch: Pas vrai. (Comme cela a déjà été discuté plusieurs fois ici sur SO.) La seule chose qui est interdite est le chargement de code à partir de sources non fiables comme le réseau ou l'utilisateur. Si votre code provient d'une source * de confiance * (ce qui signifie essentiellement l'App Store), Apple ne se soucie pas de la façon dont vous l'exécutez: interprétez-le, compilez-le, envoyez-le en Chine pour être évalué manuellement par des esclaves-enfants . Il y a beaucoup de code interprété dans l'App Store, par ex. l'application Wikipedia qui est écrite en Ruby. –

+3

Si vous ne pouvez pas trouver la documentation de Lua alors vous n'êtes probablement pas en mesure d'écrire beaucoup de logiciels. –

Répondre

4

les Lua docs sont très bons, aussi lire PIL (Programmation en Lua) première édition est disponible en ligne, la deuxième édition est peu coûteux sur copie papier. Lua est spécialement conçu pour être utilisé comme langage incorporé, il suffit de le lier à un projet C (ou Obj-C ou C++) et d'utiliser le C API pour charger les scripts et les exécuter.

Notez qu'Apple interdit de créer des plates-formes de script; mais AFAICT, cela signifie seulement que l'utilisateur ne devrait pas être en mesure d'ajouter des scripts Lua pour améliorer votre application. Vous êtes libre d'utiliser Lua intégré pour rendre votre application plus flexible et plus facile à écrire.

+1

Apparemment, le les restrictions ont été supprimées. Voir http://www.apple.com/pr/library/2010/09/09statement.html – lhf

+0

Comme je l'ai lu, les restrictions supprimées n'étaient que celles récemment ajoutées: celles qui limitaient les langages et les outils. maintenant les règles sont plus proches de l'original: utilisez n'importe quel outil/langue que vous voulez, mais tout le code doit être intégré dans l'application – Javier

7

Consultez le Corona SDK.

+0

Il est un peu déprimant que les pages Web brillantes ne mentionnent même pas le mot Lua. Quelqu'un peut-il commenter si ce SDK vaut le 99 $? –

+2

@Norman: Il fait maintenant. – lhf

+0

C'est de loin le moyen le plus rapide de produire des applications/jeux de haute qualité, période. –

3

J'ai compilé Lua dans une application iPhone. C'est assez simple si vous avez utilisé Lua dans d'autres contextes. Le seul vrai truc, c'est que l'iPhone n'expose pas son système de fichiers de façon traditionnelle, j'ai donc utilisé le paquet de ressources pour stocker les scripts et j'ai dû réécrire la fonction lua_dofile pour accepter les fichiers du bundle.

Je vous recommande de compiler Lua dans une application non-iPhone avant d'essayer de l'utiliser sur l'iPhone. Une fois que vous comprenez le cappi, il n'est pas si difficile de l'intégrer au cadre mobile du cacao.