20 comments

[ 4.7 ms ] story [ 98.1 ms ] thread
Doesn't this mean you now have to write every iPhone application directly in C and Objective-C? This doesn't make much sense. What's a translation layer? C preprocessor? What if I implement a language in the C preprocessor? That's not allowed? Ok, how much of the C preprocessor can I use? Is there a limited number of #defines before you start saying no? Do I have to provide my source code to you when submitting an app for approval? What if I implement an embedded language in C++ through operator overloading? Is that a translation layer? Is Boost a translation layer? Can I use Boost::Lambda?

The fuck? This doesn't make sense. What is a translation layer?

The solution is Android. Do you have JVM bytecodes? Great, your app is approved.
Actually, it's Dalvik bytcodes, but other than that you're correct.
The usual build process is generate .class files -> translate to Dalvik. So while the phone runs Dalvik "if you have JVM bytecodes", your app is going to work on Android.
My Nexus One is so laggy that I can't stand to use it anymore. It's just a huge pain in the ass scrolling around, resizing, etc. It's a slow turd, and the Android devs seem intent on bolting on more useless features rather than speeding up the user experience or fixing bugs. The first (and only) update for my N1 added more bugs than fixed.
Want some cheese to go along with that whine?
Is this link mirrored anywhere? It seems to have gone down.
It's still there for me, but here's the text:

By now, most of you have probably seen or heard about Apple iPhone SDK 4.0 and a little hidden gem in their freshly minted 4.0 Terms of Services, notably 3.3.1: “Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited.”

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.

(comment deleted)
If Apple are serious about gaming, as they seem to be, they surely won't enforce a limitation that will kill tools like Unity. It will be interesting to see their clarification, but somehow I think we'll all be fine.
I suspect that this is just a poorly thought-out attempt to keep Flash off of the iPhone.
They really should have just let Flash CS5 apps fail in the marketplace, or just been very selective about quality when approving them.
I wonder if apple loathes the idea of Appcelerator or others enabling developers to develop simultaneously for platforms outside of Apple. They probably like that it opens up development to more people - but they want total commitment to their devices.