Apakah Apple saat ini menerima aplikasi iPhone dengan Lua yang disematkan?


11

Saya sedang meneliti ini dan sepertinya saya tidak dapat menemukan jawaban yang konkret.


1
Angry Birds menggunakan Lua sebagai format file levelnya (well, setidaknya pada N900).
mrbinary

Jawaban:


12

Bagian 3.3.2 perjanjian program pengembang iOS berbunyi (sebagian) sebagai berikut:

Aplikasi tidak boleh mengunduh atau memasang kode yang dapat dieksekusi. Kode yang ditafsirkan hanya dapat digunakan dalam Aplikasi jika semua skrip, kode, dan juru bahasa dikemas dalam Aplikasi dan tidak diunduh.

Ketika perjanjian lisensi dimutakhirkan pada 2010, perubahan ini dicakup oleh sebagian besar situs berita utama Apple (karena ini merupakan pelonggaran dari aturan sebelumnya). Misalnya di sini .

Untuk itu, Lua harus baik-baik saja selama semua kode yang Anda jalankan dibundel dalam sumber daya aplikasi Anda dan tidak pernah diunduh dari jarak jauh (sehingga Apple dapat memverifikasinya). Tentu saja, saya bukan pengacara sehingga interpretasi saya terhadap dokumen hukum harus diambil dengan sedikit garam.


Apakah saya benar dalam berpikir bahwa perjanjian pengembang dulu mengandung 'klab klub perang' yang menyatakan bahwa Anda tidak boleh mengatakan apa yang ada dalam perjanjian?
George Duckett

1
@ George: Mengingat bahwa program pengembang terbuka untuk siapa saja yang bersedia membayar $ 100 (dan Anda menyetujui persyaratan sebelum membayar), saya ragu itu memiliki klausa seperti itu. Paling tidak itu sama sekali tidak berarti.

1
Peringatan: Kode ini dapat diunduh dengan pembelian dalam aplikasi, seperti jika Anda bermaksud memiliki level yang dapat diunduh dengan LUA.
DampeS8N

5

Mengingat Corona SDK ada, saya akan mengatakan ya.

Apple juga telah mengizinkan Adobe untuk membuat runtime AIR untuk iOS.


2
IIRC Monotouch secara khusus menggunakan kompiler AOT untuk menghindari kode JIT. Saya tidak yakin itu contoh terbaik di sini.
Jimmy

@ Jimmy itu benar, saya sudah merevisi jawabannya.
michael.bartnett

@ Jimmy: Itu benar, tetapi melarang JIT tidak sama dengan melarang bahasa yang disematkan.

2

Apple membolehkan bahasa scripting apa pun, ada tangkapan, harus dikemas dalam aplikasi atau aplikasi tambahan yang melewati apple, tidak dapat diunduh dari server eksternal dan pengguna tidak dapat mengeditnya.


Mengenai "pengguna tidak dapat mengeditnya": aplikasi gratis Paragraf memungkinkan pengguna untuk mengedit shader GLSL di perangkat. (Sekarang, secara teknis, GLSL bukan bahasa scripting, tapi saya pikir keberadaan aplikasi ini masih layak untuk dipertimbangkan.)
smokris

1
Tergantung pada definisi bahasa scripting Anda, itu adalah bagian dari kode yang dieksekusi saat runtime .. Tapi saya setuju, itu ide yang cukup menarik.
Matt Jensen
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.