2010-04-06 21 views
5

Próbuję załadować w czasie wykonywania skryptów Lua na iPhone. Czy jest taka możliwość?Lua na iPhonie

Jak mogę zacząć korzystać z Lua? Nie mogę znaleźć czegoś. Jedyne, co mogę znaleźć, to to, że powinno to być możliwe, ale zastanawiam się, jak to zrobić.

+0

Czy jesteś pewien, że to możliwe? IIRC Apple zabrania używania interpretowanych języków na iPhone'ie. –

+1

@ Timo Geusch: Nie prawda. (Jak to już zostało omówione wiele razy tutaj na SO). Jedyne, co jest zabronione, to ładowanie kodu z niezaufanych źródeł, takich jak sieć lub użytkownik. Jeśli twój kod pochodzi ze źródła * zaufanego * (co zasadniczo oznacza sklep App Store), Apple nie dba o to, jak go prowadzisz: zinterpretuj go, skompiluj, do cholery, wyślij do Chin, aby był oceniany ręcznie przez niewolników . W sklepie App Store jest mnóstwo zinterpretowanych kodów, np. aplikacja Wikipedia, która jest napisana w języku Ruby. –

+3

Jeśli nie możesz znaleźć dokumentacji Lua, prawdopodobnie nie jesteś w stanie pisać dużo oprogramowania. –

Odpowiedz

4

Lua docs są bardzo dobre, przeczytaj także PIL (Programowanie w Lua) pierwsza edycja jest dostępna online, druga edycja jest niedrogie na papierze.

Lua jest specjalnie zaprojektowana do użycia jako język osadzony, wystarczy link do dowolnego projektu C (lub Obj-C lub C++) i użyć C API, aby załadować skrypty i je uruchomić.

Należy pamiętać, że Apple zabrania tworzenia platform skryptów; ale AFAICT oznacza to tylko, że użytkownik nie powinien mieć możliwości dodawania skryptów Lua w celu ulepszenia swojej aplikacji. Możesz używać wbudowanego Lua, aby Twoja aplikacja była bardziej elastyczna i łatwiejsza do napisania.

+1

Widocznie ograniczenia zostały usunięte. Zobacz http://www.apple.com/pl/library/2010/09/09statement.html – lhf

+0

Podczas czytania, usunięte ograniczenia dotyczyły tylko tych ostatnio dodanych: tych, które ograniczały języki i narzędzia. teraz zasady są bliższe oryginałowi: użyj dowolnego narzędzia/języka, ale cały kod musi być osadzony w aplikacji – Javier

7

Zapoznaj się z Corona SDK.

+0

To trochę przygnębiające, że błyszczące strony internetowe nawet nie wspominają o słowie Lua. Czy ktokolwiek może komentować, czy jest to pakiet SDK warty 99 $? –

+2

@ Norman: Teraz robi. – lhf

+0

To najszybszy sposób na tworzenie wysokiej jakości aplikacji/gier. –

3

mam skompilowane Lua w iPhone app. To całkiem proste, jeśli używałeś Lua w innych kontekstach. Jedynym prawdziwym problemem jest to, że iPhone nie ujawnia swojego systemu plików w tradycyjny sposób, więc skończyło się na używaniu pakietu zasobów do przechowywania skryptów i musiałem przerobić funkcję lua_dofile, aby akceptować pliki z pakietu.

Polecam skompilowanie Lua do aplikacji innej niż iPhone przed próbą użycia jej na iPhonie. Kiedy zrozumiesz, że cisowa gałka kończynowa w strukturze mobilnej kakao nie jest taka trudna.