Feeds

Unity – iPhone code swap approved by Jobs (for now)

Un-Flash eyes world of Google

5 things you didn’t know about cloud backup

Steve Jobs forbids you from building iPhone applications with a language other than Objective C, C, or C++. If that other language is Adobe Flash. What if it's not Adobe Flash? Are you still forbidden?

The answer is that there is no answer. Apparently, Jobs has yet to make up his mind.

Unity is a cross-platform game development tool with over 200,000 registered users worldwide, including such names as Electronic Arts, Microsoft, Disney, and Lego, and when building iPhone and iPad applications, it uses a language other than those explicitly approved by Jobs. The platform is based on Mono, the open source incarnation of Microsoft's .NET, and it compiles .NET code straight to assembly. Nonetheless, when applications built with Unity are submitted to the Apple App Store, they continue to be accepted.

This would seem to indicate that the Unity platform has somehow won the approval of Jobs and his army. But when the company's founders ask Apple for confirmation, they're met with what amounts to silence.

"We've contacted Apple, but we've still not been able to get an official response," Unity CEO and co-founder David Helgason tells The Reg. "We have friends at the company, and we've talked to them on a lot of different levels...but so far, we have no answer."

Unity was designed on the Mac, and the original incarnation of the tool — for building cross-platform 3D games on the desktop and the web — was launched by Helgason onstage at Apple's June 2005 Worldwide Developer Conference.

Famously, terms of service for the latest iOS SDK decree that "applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine" and that "only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs." The new SDK arrived in April, and Apple began accepting apps based on the kit in June.

In the wake of the SDK's arrival, Jobs made it quite clear the new language would ban applications built with Adobe's iPhone Packager, a tool that converts Flash script directly to machine code. Flash, Jobs said in his sweeping rant against Adobe's platform, was threatening to put the breaks on iOS, the operating system that drives the iPhone, iPad, and iPod touch.

"We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform," Jobs wrote. "If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers."

“We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform." – Steve Jobs

Unity is certainly a "third party layer of software between the platform and the developer." It certainly requires developers to code in something other than C. And unlike third-party iPhone dev tools such as Appcelerator's Titanium, it doesn't convert code to Objective C before compilation. But like Titanium, it plugs into Apple's XCode integrated development interface, and you have the option of adding Objective C code around the Unity assembly code.

"We go straight to assembly from this .NET runtime — the Mono open source runtime we use — then we hand off to XCode, and XCode compiles it all into a native binary," Helgason says. "But after you script in .NET — typically with C# or Javascript or Python — you can also write Objective C code that interacts with some of the new APIs we haven't yet supported."

Boost IT visibility and business value

Next page: Unity is not Adobe

More from The Register

next story
The Return of BSOD: Does ANYONE trust Microsoft patches?
Sysadmins, you're either fighting fires or seen as incompetents now
Linux turns 23 and Linus Torvalds celebrates as only he can
No, not with swearing, but by controlling the release cycle
Why has the web gone to hell? Market chaos and HUMAN NATURE
Tim Berners-Lee isn't happy, but we should be
China hopes home-grown OS will oust Microsoft
Doesn't much like Apple or Google, either
Apple promises to lift Curse of the Drained iPhone 5 Battery
Have you tried turning it off and...? Never mind, here's a replacement
Sin COS to tan Windows? Chinese operating system to debut in autumn – report
Development alliance working on desktop, mobe software
Eat up Martha! Microsoft slings handwriting recog into OneNote on Android
Freehand input on non-Windows kit for the first time
Linux kernel devs made to finger their dongles before contributing code
Two-factor auth enabled for Kernel.org repositories
prev story

Whitepapers

Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Endpoint data privacy in the cloud is easier than you think
Innovations in encryption and storage resolve issues of data privacy and key requirements for companies to look for in a solution.
Scale data protection with your virtual environment
To scale at the rate of virtualization growth, data protection solutions need to adopt new capabilities and simplify current features.
Boost IT visibility and business value
How building a great service catalog relieves pressure points and demonstrates the value of IT service management.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?