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 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.
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.
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 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.
20 comments
[ 4.7 ms ] story [ 98.1 ms ] threadhttp://daringfireball.net/2010/04/iphone_agreement_bans_flas...
The fuck? This doesn't make sense. What is a translation layer?
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.