Let me also spill my opinion about section 3.3.1 of the iPhone Developer Program License Agreement, which states before:3.3.1 - Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.
And became as of iPhone SDK 4.0 Beta:
This new section affects the upcoming compiler, the iPhone packager, of Adobe, which is part of it's new Creative Suite 5.
I understand that the Adobe community is upset by this decision made by Apple I also understand the possible reasons that I can come up with for Apple to make that decision.
The main reason I think Apple has made this decision is for the sake of performance, to ensure performance they need to be in charge of the runtime (as far as you can call Cocoa Touch a runtime). The Adobe iPhone packager as far as I know uses a self created library that translates calls to the OS. And that is just the thing that Apple does not want.
I based this part a bit on an article written by John Gruber
As a Flex/Flash developer (so I should be on the Adobe side of the “war”) I want to be neutral, as a matter of fact I don't want a war. Learn from the mistakes and continue. I'm not selling my Mac and go for a Viao (hell no). My iPhone stays where it is and I'm learning Objective-C ;).
Flash is a very nice platform but not holy, and there are a lot of things Adobe should change (like fixing bugs that I have reported in the early days of Flash 6 regarding IMG tags in HTML text). I'm still in favour in open-sourcing the Flash Player and making the Flash API a W3C standard. Everyone will gain from this, especially Adobe is my opinion. And maybe Steve Jobs will allow Flash on the next iteration of iPhone OS.