4 ms·
> Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine Controlling programmers like this se
by WilliamLP 17y ago
> Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine
Controlling programmers like this seems positively insane, doesn't it? Does this mean that games can't do scripting in something like Lua either, under the letter of Apple's law?
- _delirium 17y agoLua is definitely out, and has been out for longer: Apple explicitly prohibits embedding interpreters, like the Lua interpreter, in your apps.
- MartinMond 17y agoYet Rovio Mobile's Angry Birds (#1 paid app...) clearly (there are lots of .lua files) embeds a lua interpreter.
- g89 17y agoHow about the Corona SDK (http://anscamobile.com http://anscamobile.com)? They use Lua, but they claim they're allowed by the pre-4.0 SDK. I don't know how it works behind the scene, but I think they were allowed because the SDK didn't allow you to load code on runtime (e.g. think about a C64 emulator), but as long as the code was fixed it's fine. It can't execute arbitrary code because the app signing process ensures that the only code that runs is the same code submitted to Apple.
- bad_user 17y agoGames never could do scripting in Lua, since you can't run interpreted or Jitted code on the iPhone anyway. What they are forbidding now is the usage of any third-party compilers that are producing native executables ... Adobe CS5, MonoTouch, Unity.
- pyre 17y ago> any third-party compilers that are producing native executables It's more than that. They are forbidding you from writing it in 'language X,' converting 'language X' into C/C++/ObjC, and then running that through Apple's developer tools. They state that the program must be originally written in C/C++/ObjC.
- pygy_ 17y agoThat's patently wrong. Until now, you could link to an interpreter, as long as all the code that it running was bundled with the app as downloaded from the App Store. No code could be generated by the user or downloaded from the net, though. A lot of games use interpreters. ScummVM is used for the official Broken Sword port, the original SCUMM engine is used in the remake of The Secret of Monkey Island, and a lot of commercial iPhone game frameworks use Python or Lua as a scripting language. That said, I have an implementation of Conway's game of Life on my iPhone, downloaded from the app store. Life is Turing equivalent, and the user can create his own patterns. I guess the app reviewers didn't know about it (or don't care about it since the applications are very limited).
- slillibri 17y agoScripting would already be covered under the rule 3.3.2, ' No interpreted code may be downloaded or used in an Application except for code that is interpreted and run by Apple’s Documented APIs and built-in interpreter(s).'