Apple revealed its new iPhone OS 4.0 yesterday and along with it released a new beta SDK for developers. The new SDK came with a revised license agreement that prohibits linking to “Documented APIs through an intermediary or compatibility layer” - which is the method used by Flash CS5 to compile iPhone applications.
Though CS5 end-result iPhone applications compile into the same format as those made with Apple’s own XCode, Apple doesn’t want anyone to use any third party tool to make these applications, such tools include Flash CS5 and MonoTouch. Currently, it is very easy to tell if an application was made using Flash CS5 as the .app file can be searched for strings identifying the development toolkit.
This is a critical issue for Adobe and all Flash developers who hoped that they would be able to use their existing skills to create applications for the iPhone. Apple’s decision seems more like a personal feud against Adobe which has promoted Flash CS5 capability to compile iPhone applications as the primary feature of the new release. The ban cannot have come at a worse time as Adobe plans to unveil the new CS5 in four days.
The position of Adobe regarding this new development is not clear, they have issued a statement saying that they are aware of the new license language and that they still plan to continue develop the iPhone packager for Flash CS5. Even if Adobe releases Flash CS5 with this feature, that will not change the fact that Apple can easily identify the violating applications and reject them.
In theory it might be possible to translate Flash iPhone applications into native Object-C code and therefore avoiding the violation of the license agreement, but achieving that in practice is a different story.
Adobe is still going to unveil the new Flash CS5 and the rest of the CS5 suite in four days.