Apple bans Flash-to-iPhone ports

Apple has banned iPhone application developers from porting code over from third party tools such as Flash, it has emerged.

With the latest version of its iPhone Developer Program License Agreement for the new iPhone 4.0, Apple has prohibited any app developed using “intermediary translation or compatibility layer or tool”.

First noticed by John Gruber, these contractual changes are being broadly interpreted as a pre-emptive ban on Adobe's forthcoming Packager for iPhone, which is due to ship with Flash Professional CS5. Java and Microsoft's Silverlight could also be affected.

The move is bound to increase tensions between Apple and Adobe. Apple has been vocal in its lack of support for Flash in its iPhone or iPad devices, preferring HTML5.

It's also merely the latest in a series of attempts by Apple to lock its users and developers into its own proprietary platforms. Developers already have no option but to sell their iPhone apps via Apple's store, and now they face rejection if they use third-parties cross-compilers.

The new contractual clause reads in full: “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).”