Feeds

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

Un-Flash eyes world of Google

Top 5 reasons to deploy VMware with Tegile

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

Internet Security Threat Report 2014

Next page: Unity is not Adobe

More from The Register

next story
PEAK APPLE: iOS 8 is least popular Cupertino mobile OS in all of HUMAN HISTORY
'Nerd release' finally staggers past 50 per cent adoption
Microsoft to bake Skype into IE, without plugins
Redmond thinks the Object Real-Time Communications API for WebRTC is ready to roll
Microsoft promises Windows 10 will mean two-factor auth for all
Sneak peek at security features Redmond's baking into new OS
Mozilla: Spidermonkey ATE Apple's JavaScriptCore, THRASHED Google V8
Moz man claims the win on rivals' own benchmarks
FTDI yanks chip-bricking driver from Windows Update, vows to fight on
Next driver to battle fake chips with 'non-invasive' methods
DEATH by PowerPoint: Microsoft warns of 0-day attack hidden in slides
Might put out patch in update, might chuck it out sooner
Ubuntu 14.10 tries pulling a Steve Ballmer on cloudy offerings
Oi, Windows, centOS and openSUSE – behave, we're all friends here
Was ist das? Eine neue Suse Linux Enterprise? Ausgezeichnet!
Version 12 first major-number Suse release since 2009
prev story

Whitepapers

Choosing cloud Backup services
Demystify how you can address your data protection needs in your small- to medium-sized business and select the best online backup service to meet your needs.
A strategic approach to identity relationship management
ForgeRock commissioned Forrester to evaluate companies’ IAM practices and requirements when it comes to customer-facing scenarios versus employee-facing ones.
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?
Top 5 reasons to deploy VMware with Tegile
Data demand and the rise of virtualization is challenging IT teams to deliver storage performance, scalability and capacity that can keep up, while maximizing efficiency.
The hidden costs of self-signed SSL certificates
Exploring the true TCO for self-signed SSL certificates, including a side-by-side comparison of a self-signed architecture versus working with a third-party SSL vendor.