iPhone 4 SDK may ban Flash-to-iPhone compilers
updated 06:10 pm EDT, Thu April 8, 2010
Language appears to be aimed directly at Flash
Apple may have effectively banned Flash-to-iPhone compilers for developers using the iPhone 4 SDK. Daring Fireball blogger John Gruber noticed an updated clause in section 3.3.1 of the iPhone Developer Program License Agreement, expanding a previously simple requirement that apps must use documented APIs instead of 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)," the section now reads.
Although the wording does not explicitly ban Adobe's Flash-to-iPhone utility, Gruber interprets the language as prohibiting all cross-compilers. The category could even be interpreted to include other tools such as MonoTouch, Unity3D, and PhoneGap.
Despite Apple's staunch opposition to Flash on the iPhone platform, Adobe had promised to work around the restrictions with its CS5 lineup. Developers will be able to build Flash-based apps and run them through the iPhone compiler, which outputs the code in an iPhone-friendly format.
It is still unclear if Apple intends to enforce the SDK terms to prevent Flash developers from using the compiler for App Store content. The Flash-to-iPhone compiler is only a few weeks from hitting the market.






Professional Poster
Joined: Jul 2005
Ouch
That would be a pretty big kick in the pants to Adobe and a potential slap in the face to developers. The reason Apple hasn't caught flack from me for banning flash is that flash isn't a well designed plugin and I don't want it draining my iPhone's battery. Thing is though if Adobe's apps are being run by users, they'll know that it's that app specifically that's breaking their phone. It's up to them to decide if they want it or not.