Apple changes their iPhone user agreement to forbid use of private APIs

So.. it seems Apple changed this week their iPhone OS user agreement to include the following:

“3.3.1 ā€” Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.'”

This is most of all a stab in back of Adobe, who was planning to launch on the 12th April their new Flash CS5 that included a Flash-to-native compiler that now becomes… not so useful.

True evil stuff no?

http://daringfireball.net/2010/04/iphone_agreement_bans_flash_compiler

http://daringfireball.net/2010/04/why_apple_changed_section_331

Update: I was told that the particular bit I mentioned has been in for a while but has been extended to the following:

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).

They are restricting people to use a particular technology that is as valid as any other. And in that sense it is evil I think.

On the other hand, Apple had already made it clear they would not support Flash on the iPhone/iPad so I guess it is only natural that they oppose any attempt by Adobe to circumvent that.