3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

Just days before the official Adobe CS5 launch, with the now widely reported iPhone packager feature, Apple comes out with a new clause in their iPhone Developer Program License Agreement (see above).

This effectively means that any apps with code not originally written in any of the Apple approved programming languages and are translated, cross-compiled would not be allowed for distribution in the iTunes app store. Obviously this not only affects Adobe but other tools out there such as Unity, OpenPlug ELIPS, MonoTouch, XMLVM etc. and potentially even puts into question the use of any form of code generation or WYSIWYG tools.

There are currently hundreds of applications using third party technologies in the iTunes app store and the question is what will happen with these after this new license agreement comes into affect.

In my view this is clearly a malicious move by Apple to wait until mere days before the CS5 launch to make this announcement and illustrates how communication between Apple and Adobe is sadly at an all time low.

I expect Adobe to come out with a strong statement about its position and a plan of action and hope developers across the board send a clear message to Apple that they are crossing a line here. This goes beyond any form of quality control but dictates how you are allowed to write the code for the application you are submitting to them. The level of control Apple wants to have over their application ecosystem is unprecedented and unreasonable by any measure.

To quote Joa Ebert on Twitter: "Apple forcing people to develop in Objective-C is as if Microsoft would tell you to use MS Paint for your design work".
[update] A first official statement by Adobe: "We are aware of the new SDK language and are looking into it. CS5 will still launch on April 12th."

CategoriesApple, Rants