Feeds

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

Un-Flash eyes world of Google

High performance access to file storage

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

High performance access to file storage

Next page: Unity is not Adobe

More from The Register

next story
Android engineer: We DIDN'T copy Apple OR follow Samsung's orders
Veep testifies for Samsung during Apple patent trial
This time it's 'Personal': new Office 365 sub covers just two devices
Redmond also brings Office into Google's back yard
Windows 8.1, which you probably haven't upgraded to yet, ALREADY OBSOLETE
Pre-Update versions of new Windows version will no longer support patches
Batten down the hatches, Ubuntu 14.04 LTS due in TWO DAYS
Admins dab straining server brows in advance of Trusty Tahr's long-term support landing
Microsoft lobs pre-release Windows Phone 8.1 at devs who dare
App makers can load it before anyone else, but if they do they're stuck with it
Half of Twitter's 'active users' are SILENT STALKERS
Nearly 50% have NEVER tweeted a word
Windows XP still has 27 per cent market share on its deathbed
Windows 7 making some gains on XP Death Day
Internet-of-stuff startup dumps NoSQL for ... SQL?
NoSQL taste great at first but lacks proper nutrients, says startup cloud whiz
Microsoft TIER SMEAR changes app prices whether devs ask or not
Some go up, some go down, Redmond goes silent
Red Hat to ship RHEL 7 release candidate with a taste of container tech
Grab 'near-final' version of next Enterprise Linux next week
prev story

Whitepapers

Securing web applications made simple and scalable
In this whitepaper learn how automated security testing can provide a simple and scalable way to protect your web applications.
Five 3D headsets to be won!
We were so impressed by the Durovis Dive headset we’ve asked the company to give some away to Reg readers.
HP ArcSight ESM solution helps Finansbank
Based on their experience using HP ArcSight Enterprise Security Manager for IT security operations, Finansbank moved to HP ArcSight ESM for fraud management.
The benefits of software based PBX
Why you should break free from your proprietary PBX and how to leverage your existing server hardware.
Mobile application security study
Download this report to see the alarming realities regarding the sheer number of applications vulnerable to attack, as well as the most common and easily addressable vulnerability errors.