Apple has effectively banned compiling apps through a Flash compiler in the developer agreement for iPhone OS 4, which was just announced today. According to language in the agreement first spotted by Daring Fireball, any and all compilers that do not expressly rely on C, C++, or Objective-C calls to Apple’s APIs are explicitly forbidden, and the use of any and all third party APIs are likewise not allowed.
That serves to more than effectively kill Adobe’s Flash-to-iPhone compiler that is mere weeks away from shipping. Adobe has been trying to work around the lack of Flash support on the iPhone and iPad by allowing developers to develop apps for the device in Flash, and then use Flash-to-iPhone to compile them into iPhone-ready apps.
That method would still work in terms of a converted app actually running on the iPhone, but Apple would not approve them if they were spotted in the approval process. Daring Fireball noted that such apps can be detected by merely inspecting the bundle, something that if it was not already part of the approval process, likely will be going forward.
The language from the agreement, which is section 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).”
Apple made it expressly clear that there would be no change in the company’s lack of support for Flash in iPhone OS in today’s media event launching the new OS, even going so far as to note that ads developed for Apple’s new iAd mobile advertising network would be created using HTML 5 standards.
In the meanwhile, Adobe is days away from officially unveiling Creative Suite 5, including a new version of Flash that incudes the above-mentioned Flash-to-iPhone compiler as one of its primary features.