2010-04-06 30 views
5

Ich versuche, Run-Time-Lua-Skripte auf dem iPhone zu laden. Gibt es eine Möglichkeit, das zu tun?Lua auf dem iPhone

Wie kann ich mit Lua anfangen? Ich kann nichts finden. Das einzige, was ich finden kann ist, dass dies möglich sein sollte, aber ich frage mich, wie.

+0

Sind Sie sicher, dass es möglich ist? IIRC Apple verbietet die Verwendung von interpretierten Sprachen auf dem iPhone. –

+1

@Timo Geusch: Nicht wahr. (Wie schon mehrfach hier auf SO diskutiert wurde.) Das einzige, was verboten ist, lädt Code von nicht vertrauenswürdigen Quellen wie dem Netzwerk oder dem Benutzer. Wenn Ihr Code von einer * vertrauenswürdigen * Quelle stammt (was im Grunde den App Store bedeutet), ist es Apple gleichgültig, wie Sie ihn ausführen: interpretieren Sie ihn, kompilieren Sie ihn, senden Sie ihn nach China, um ihn von Handsklaven auszuwerten . Es gibt viel interpretierten Code im App Store, z. die Wikipedia-App, die in Ruby geschrieben ist. –

+3

Wenn Sie die Lua-Dokumentation nicht finden können, sind Sie wahrscheinlich nicht in der Lage, viel Software zu schreiben. –

Antwort

4

die Lua docs sind sehr gut, lesen Sie auch PIL (Programmierung in Lua) erste Ausgabe ist online verfügbar, die zweite Ausgabe ist kostengünstig auf Papier.

Lua wurde speziell entwickelt, um als eingebettete Sprache verwendet zu werden. Verknüpfen Sie einfach ein beliebiges C (oder Obj-C oder C++) Projekt und verwenden Sie C API, um Skripte zu laden und auszuführen.

Beachten Sie, dass Apple verbietet, Skripting-Plattformen zu erstellen; aber AFAICT, das bedeutet nur, dass der Benutzer nicht in der Lage sein sollte, Lua-Skripte hinzuzufügen, um Ihre App zu verbessern. Sie können Embedded Lua verwenden, um Ihre App flexibler und einfacher zu schreiben.

+1

Anscheinend ist der Einschränkungen wurden entfernt. Siehe http://www.apple.com/pr/library/2010/09/09statement.html – lhf

+0

Wie ich es gelesen habe, waren die entfernten Einschränkungen nur diejenigen, die kürzlich hinzugefügt wurden: diejenigen, die die Sprachen und Tools einschränkten. Jetzt sind die Regeln näher am Original: benutze das gewünschte Werkzeug/die gewünschte Sprache, aber der gesamte Code muss in die App eingebettet sein – Javier

7

Überprüfen Sie die Corona SDK.

+0

Es ist ein bisschen deprimierend, dass die glänzenden Webseiten das Wort Lua nicht erwähnen. Kann jemand kommentieren, wenn dieses SDK die $ 99 wert ist? –

+2

@Norman: Es tut jetzt. – lhf

+0

Dies ist zweifellos der schnellste Weg, qualitativ hochwertige Apps/Spiele zu produzieren, Punkt. –

3

Ich habe kompiliert Lua in eine iPhone-App. Es ist ziemlich einfach, wenn Sie Lua in anderen Kontexten verwendet haben. Das einzig wahre Problem ist, dass das iPhone sein Dateisystem nicht auf herkömmliche Weise aussetzt. Daher verwendete ich das Ressourcenpaket zum Speichern von Skripts und musste die Funktion lua_dofile neu schreiben, um Dateien aus dem Paket zu akzeptieren.

Ich würde empfehlen, Lua in eine Nicht-iPhone-App zu kompilieren, bevor Sie versuchen, es auf dem iPhone zu verwenden. Sobald Sie die capi Shoeshorning es in den mobilen Rahmen von Kakao verstehen, ist nicht so schwer.