iPhone Runtimes and Interpreters

apple.gifThe Apple iPhone developer agreement currently says

"No interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple’s Published APIs and builtin interpreter(s)…An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise."

Why have Apple done this? My guess is that it’s related to controlling what people run on the iPhone. There’s no point Apple reviewing an application if it later downloads some other script that causes it to behave very differently.

So how is it that tools like Rhomobile and PhoneGap exist that can be used to create script based applications? The current defence of Rhomobile is that it compiles the script into the application. That is, the script can’t change and what Apple review, is what’s seen by the end user. Runtime providers are placing emphasis on the "No interpreted code may be downloaded" part of what’s might be said to be an ambiguous statement in the agreement.

Meanwhile, some generated applications end up on the Apple iPhone store while other’s are rejected for, what Apple staff are saying is use of a "private api". Some developers are renaming PhoneGap classes so as to hide they fact they are using runtimes. While I can see that hobbyists might get away with this, I can’t see this is a viable route for serious commercial applications.

Related Articles:

Comments are closed.