Czy Apple obecnie akceptuje aplikacje na iPhone'a z wbudowanym Lua?

11

Badałem to i nie mogę znaleźć konkretnej odpowiedzi.

Ryan
źródło
1
Angry Birds używa Lua jako formatu pliku poziomu (cóż, przynajmniej na N900).
mrbinary

Odpowiedzi:

12

W sekcji 3.3.2 umowy dotyczącej programu dla deweloperów iOS (w części) brzmi następująco:

Aplikacja nie może pobierać ani instalować kodu wykonywalnego. Kod interpretowany może być używany w aplikacji tylko wtedy, gdy wszystkie skrypty, kod i interpretery są spakowane w aplikacji i nie są pobierane.

Gdy umowa licencyjna została zaktualizowana w 2010 r., Ta zmiana była objęta większością głównych serwisów informacyjnych Apple (ponieważ była to rozluźnienie wcześniejszych zasad). Na przykład tutaj .

W tym celu Lua powinna być w porządku, o ile cały uruchamiany kod jest zawarty w zasobach aplikacji i nigdy nie jest pobierany zdalnie (aby Apple mógł to zweryfikować). Oczywiście nie jestem prawnikiem, więc moją interpretację dokumentów prawnych należy przyjmować z odpowiednio dużą szczyptą soli.


źródło
Czy mam rację, sądząc, że umowa deweloperska zawierała „klauzulę klubu walki” stwierdzającą, że nie wolno mówić o treści umowy?
George Duckett,
1
@George: Biorąc pod uwagę, że program dla programistów jest otwarty dla każdego, kto chce zapłacić 100 USD (i zgadzasz się na warunki przed dokonaniem płatności), wątpię, aby zawierał taką klauzulę. Przynajmniej byłoby to całkowicie pozbawione sensu.
1
Zastrzeżenie: kod można pobrać przy zakupie aplikacji, na przykład jeśli chcesz mieć poziomy do pobrania za pomocą LUA.
DampeS8N
5

Biorąc pod uwagę, że pakiet Corona SDK istnieje, powiedziałbym, że tak.

Apple zezwolił także Adobe na wykonanie środowiska wykonawczego AIR dla systemu iOS.

michael.bartnett
źródło
2
IIRC Monotouch wykorzystuje kompilator AOT, aby uniknąć kodu JIT. Nie jestem pewien, czy to najlepszy przykład tutaj.
Jimmy
@ Jimmy, to prawda, poprawiłem odpowiedź.
michael.bartnett,
@ Jimmy: To prawda, ale zabronienie JIT to nie to samo, co zabronienie osadzonych języków.
2

Apple zezwala na dowolny język skryptowy, istnieje pewien haczyk, musi być spakowany w aplikacji lub dodatkach aplikacji przechodzących przez Apple, nie można go pobrać z zewnętrznego serwera, a użytkownik nie może go edytować.

Matt Jensen
źródło
Jeśli chodzi o „użytkownik nie może go edytować”: bezpłatna aplikacja Paragraf pozwala użytkownikowi edytować shadery GLSL na urządzeniu. (Teraz technicznie GLSL nie jest językiem skryptowym, ale myślę, że obecność tej aplikacji jest nadal punktem danych wartym rozważenia.)
smokris
1
To zależy od twojej definicji języka skryptowego, jest to fragment kodu, który jest wykonywany w czasie wykonywania. Ale zgadzam się, to całkiem ciekawy pomysł.
Matt Jensen,