Just days after a copy of iPhone OS 1.2 (code-named Aspen) leaked last week, developers have made it possible to run unofficial third-party applications under the new OS version. iPhone OS 1.2 is emulated by the iPhone Simulator included with Apple's SDK, is required to run official SDK applications and also includes the new enterprise (Exchange, etc.) functionality touted by Apple.
The OS 1.2-compliant unofficial applications are built by the official SDK with the aid of some patched headers, can be run in the Aspen simulator and then pushed live to iPhones running OS 1.2. Below is a screenshot of the NES Emulator (NES.app) running on iPhone OS 1.2.
This breakthrough means not only that these unofficial third-party applications can run on the new iPhone OS version, but that developers can use modified headers to build applications harnessing the full breadth of lower-level iPhone objects rather than the restrictive subset offered by Apple's official software development kit.
As noted by developer Jonahthan Zdziarksi:
"Apple certainly isn't about to let such an application on iTunes, but it's at least a second option for those who don't want to tinker with the open tool chain, and it allows you to use the "real" APIs, as opposed to the SDK's pretend ones."
Official third-party applications run in a sandbox that limits their access to system components and places restrictions on background operation. They make use of a set of APIs overlaid upon the underlying APIs, which have been hidden from access via the official SDK tools but can still be accessed by applications built with unofficial toolchains; this includes many of the "jailbreak" applications currently in circulation.
Despite Apple's insistence that the SDK available to third-party developers consists of the same tools the company uses in-house, Apple?s own applications can do things that can only be accomplished today with the open toolchain APIs (the unofficial SDK) -- and now with the official SDK using the aforementioned modified headers.