I’m trying to parse this.
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).
Emphasis mine. You have any thoughts on it?
UPDATE: Looks like Appcelerator (who’s been quiet on Twitter about this) is wondering the same thing.
It’s clear that products like Titanium, Unity3D, Ansca, MonoTouch and others are now a bit in question for iPhone 4.0+ with this language. We’re all trying to get our heads around what this means and trying to reach out to Apple to get clarification.
Hang tight, we’ll try and give you more information as we can figure it out from Apple. We don’t want to make any false promises or claims – and most importantly, we want to make sure we’re abiding by Apple’s rules.
UPDATE 2: John Gruber picked up on this as well.
There was no mention of this change during the announcement event today, but the language in the agreement doesn’t leave much wiggle room. It could hardly be more clear if they singled out Flash CS5 by name. (Wonder what Adobe does now? CS5 is thisclose to release and the iPhone compiler is the flagship feature in this version of Flash. They’re pretty much royally fucked.)