Lately there was a lot of buzz going on because Apple has restricted the rules for app developers for the iPhone. They must not use cross-compilers to create their software but use the tools Apple gives them. This incurred some displeasure with the community, because many programmers were looking forward to use tools that would allow them to develop their apps platform-independent and compile them for Android, iPhone and what have you simultaneously.
But Apple’s policy makes perfect sense. Cross-compilers can induce errors in the executable app that can not be seen in the source code, because it’s an entirely different language. It’s like having a simaltaneous interpreter when you’re talking to someone whose language you’re not speaking. You don’t know if the interpreter is exactly saying what you were saying to him. No chance of verifying the output.
Also, programming software for Apple computers has meant starting from scratch ever since. You have to use an entirely different framework than on a PC. Never heard any complaints about that. Quite the opposite is true, many developers prefer Apple’s tools.
But the most important point is this: Apple knows perfectly well that if too many faulty apps are being released, this will not affect the programmers. Not at all. It will only affect Apple as a platform and as a brand. They have worked almost 30 years to build their reputation of “switch it on and it works straight away”, they will never ever put that to risk. Would you? Of course not.