This article is more than 1 year old

iPhone 4.0 SDK bars un-Jobsian code translation

Shed another tear for Adobe

Apple's new SDK for the iPhone 4.0 OS bars developers from accessing the company's APIs through any sort of intermediary layer that translates applications written in ways Steve Jobs doesn't approve of.

This will likely prevent the iPhone packager in Adobe's upcoming Flash Professional CS5 development suite from converting Flash scripts into native Jesus Phone apps, and it may affect existing cross-compilers that work in much the same way, including Appcelerator's Titanium, an open source platform that lets you build native iPhone runtimes using web-happy development tools, including Javascript, html, and css.

Adobe tells us it's aware of the new SDK language and that it's looking into it. Flash CS5 is set to debut next week, and the company says it will "continue to develop our Packager for iPhone OS technology."

Appcelerator declined to discuss the matter. But in a blog post earlier today, CEO Jeff Haynie acknowledged that the Jobsian SDK change could be a problem for the platform and other similar tools.

"It’s clear that products like Titanium...are now a bit in question for iPhone 4.0+ with [the new SDK] language. We’re all trying to get our heads around what this means and trying to reach out to Apple to get clarification," he tells developers.

"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."

The company later published a second post, saying it can't talk specifics because the SDK puts them under NDA. But then it said: "[The SDK's] terms are subject to clarification and change by Apple up through its official launch, which looks to be mid-summer. Until iPhone 4.0 is actually released, we will work with Apple to ensure that we abide by any updates to its Terms of Service, just as we have done successfully in the past."

The Apple-happy Daring Fireball blog speculated that the cross-platform mobile framework from PhoneGap may be affected as well. The framework developer in charge of iPhone work declined to comment on the matter, also citing Apple's non-disclosure agreement. "Unfortunately we can't comment on this officially because we are under Apple's NDA," he told us.

But in a Tweet, the company at least indicates it's not worried. "Everyone relax about the new policy. phonegap apps are accepted by apple," it says.

Apple's iPhone SDK has always said that "applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs." But Steve Jobs and company have now tacked on a few additional sentences.

"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)," reads the new iPhone 4.0 SDK, released today.

Though you wouldn't say that the new language targets Adobe specifically, it would appear that Steve Jobs has landed another blow against the company. Famously, Steve Jobs has already barred untranslated Flash from the iPhone and the iPad, calling it "buggy," littered with security holes, and a "CPU hog."

The SDK has always banned interpreted code on the iPhone OS platform, which includes the likes of Java as well. "An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise," it reads. "No interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple’s Published APIs and built in interpreter(s)." ®

More about

TIP US OFF

Send us news


Other stories you might like