Apple relaxes iOS SDK terms to allow Lua but block Flash
Apple's goal seemed to be limited to stopping third parties from shifting iPhone developers from using Apple's own Xcode development tools and instead making them dependent upon their own middleware meta-platforms.
The most obvious example of this was Adobe's efforts to turn its Flash Professional CS5 application into a product that could export iPhone apps, facilitating cross platform development centered on Flash as a platform rather than Apple's own Cocoa Touch.
Apple's 3.3.2 restriction made it clear the company would refuse to sell such apps in its iTunes Store, an insistence the company's chief executive Steve Jobs later explained as an effort to avoid third party middleware from coming between Apple and its developers and slowing down the pace of the iPhone platform's ongoing development.
What about Lua?
However, the wording of the restriction appeared to also target any iOS apps that might include any interpreted code, including a large number of games that make use of general purpose, reusable code engines or libraries to expedite development.
Adobe latched onto this idea to spread fears that any iOS restrictions on development with its Flash tools would also halt the use of popular game engines or libraries such as Unity 3D and Lua. Such a situation would imperil many popular iPhone games that Apple has already approved (and often singled out for targeted promotion), including Tap Tap Revenge and Rolando.
The latest modifications to the 3.3.2 section indicate Apple won't be forced to dump popular, existing titles just to block middleware meta-platforms as a threat to iOS development. The most recent wording of the iOS SDK, published by Matt Drance of Apple Outsider, articulates an additional option Apple can invoke when choosing to approve apps:
"Notwithstanding the foregoing, with Appleâs prior written consent, an Application may use embedded interpreted code in a limited way if such use is solely for providing minor features or functionality that are consistent with the intended and advertised purpose of the Application."
Drance notes, "these new terms seem to acknowledge that thereâs a difference between an app that happens to have non-compiled code, and a meta-platform."