Feeds

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

Un-Flash eyes world of Google

Securing Web Applications Made Simple and Scalable

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

Bridging the IT gap between rising business demands and ageing tools

Next page: Unity is not Adobe

More from The Register

next story
KDE releases ice-cream coloured Plasma 5 just in time for summer
Melty but refreshing - popular rival to Mint's Cinnamon's still a work in progress
NO MORE ALL CAPS and other pleasures of Visual Studio 14
Unpicking a packed preview that breaks down ASP.NET
Secure microkernel that uses maths to be 'bug free' goes open source
Hacker-repelling, drone-protecting code will soon be yours to tweak as you see fit
Cheer up, Nokia fans. It can start making mobes again in 18 months
The real winner of the Nokia sale is *drumroll* ... Nokia
Put down that Oracle database patch: It could cost $23,000 per CPU
On-by-default INMEMORY tech a boon for developers ... as long as they can afford it
Another day, another Firefox: Version 31 is upon us ALREADY
Web devs, Mozilla really wants you to like this one
Google shows off new Chrome OS look
Athena springs full-grown from Chromium project's head
prev story

Whitepapers

Designing a Defense for Mobile Applications
Learn about the various considerations for defending mobile applications - from the application architecture itself to the myriad testing technologies.
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.
Top 8 considerations to enable and simplify mobility
In this whitepaper learn how to successfully add mobile capabilities simply and cost effectively.
Seven Steps to Software Security
Seven practical steps you can begin to take today to secure your applications and prevent the damages a successful cyber-attack can cause.
Boost IT visibility and business value
How building a great service catalog relieves pressure points and demonstrates the value of IT service management.