So it's hard for me to see why an app that was written in Ruby or Python would have been disallowed before the recent changes.
And it seems the C64 app (the one that's up now, that can't run arbitrary code) will be disallowed after these changes go into effect.
I'd sure like to hear ideas of how that could be worded. I strongly doubt they'll back down and allow the Flash compiler at this point. But they obviously want to keep Monkey Island, and perhaps even Unity 3D. How could they possibly word a new version of the clause to make this distinction clear? Can a formal distinction be made?
"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. 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 built- in interpreter(s)."(emphasis mine)
However it was changed, with OS 3.0 SDK I believe, certainly before the OS 4.0 SDK changes, to its current wording:
"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. 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)."(emphasis mine)
I still maintain my position that for quite some time now developers should have had no expectations to be able to write applications for the iPhone in Ruby or Python, or some other interpreted language or at least to be able to distribute them through Apple's app store. Although in reality there seem to be plenty of applications in there that have some scripting component or another.