You pays your money and takes your choice (or visa versa...)
I'm pretty sure the agreement says nothing about what kind of keyboard you should use :) But if Apple wanted to specify that in their license, that's entirely within their rights.
Please feel free to cite some examples of people saying it's illegal for Apple to do this. You won't find any, because that's not the argument at hand. There's a difference between complaining about something and saying that it's illegal.
"It is acceptable for Apple to sell its hardware/software under any kind license that it wants to, as long as it isn't illegal."
I was a top level post in this thread, responding to the article. Go read the article and then go and read my top post. The topic here is "Is Apple Insane." (Answer: No. They have valid strategic business reasons for doing what they are doing.) and "Are these policies acceptable." (Answer: Certainly, what they are doing is not illegal, and appears to be working successfully for them.)
Do you have to like it? No. Do you have to put up with this awful, sorry treatment. No. You can take your development efforts elsewhere. Develop for Android or WindowsWhatever.
It's complete BS. If I want to write it in (insert language here) and compile it into a compatible binary thats my choice not theirs. If I want to write it in Actionscript and compile down to objective-c who are they to say that I cannot?
"There are possibly some anti-competitive issues here"
really you think? Apple anti-competitive.. Naw </sarcasm>
Apple is worse then MS ever was. I had started to develop a program for the iPhone and then stopped a while back when apple started screwing over their developers. I am really glad I decided to switch to the android when I did.