Daring Fireball discovered that, as part of Apple's newly released iPhone 4.0 beta, the licensing agreement now seems to ban binaries compiled by Adobe's upcoming CS5, Mono Touch, and the like:
This seems to mean that cross-compilers, which let you develop in the soon-to-be-announced Adobe Flash CS5, the C# and .NET-based Mono Touch, or similar environments and spit out iPhone-compatible binaries at the end, are being prohibited.
Unity, which is used by many large iPhone game developers, creates Xcode Cocoa touch projects (the native iPhone frameworks) rather than binaries so it may not be effected. Given the importance of iPhone gaming and the companies developing them, it's hard to see Apple going hard-line against them the way they're stamping so very firmly on the neck of Adobe, Mono, etc. here.
As to the reasoning behind this change, Daring Fireball posits:
And, obviously, such a meta-platform [Flash or Mono sitting on top of Cocoa] would be out of Apple’s control. Consider a world where some other company’s cross-platform toolkit proved wildly popular. Then Apple releases major new features to iPhone OS, and that other company’s toolkit is slow to adopt them. At that point, it’s the other company that controls when third-party apps can make use of these features.
In other words, it once again highlights Apple's device-centric philosophy. They want beautiful boxes that run commodity apps and services. Adobe, Mono (even Google) want commodity boxes that run their apps and services. Those diametrically opposed points create these conflicts.
Pragmatically, selfishly, and completely from a user's perspective however, I'll take great, dedicated developers making apps specifically and purposefully for the platform (in this case, iPhone) any day over the code-once-spit-out-everywhere approach that has never delivered on that promise (other than with ugly, janky Air and Java apps).
Adobe CS5 with iPhone compilation launches in less than a week.