Expressed limitations for Apple's iPhone Software Development Kit -- including the inability to run third-party applications in the background, inability to access the calendar, telephony and other functions and most importantly lack of access to specific frameworks that are used by "jailbreak" applications and Apple's own applications -- are artificially imposed and can be circumvented, iPhone Atlas has learned.
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.
This means that applications operating outside the bounds of Apple's restrictions will, in theory and initial testing, be able to run on the forthcoming, SDK-compliant iPhone OS (dubbed version 2.0 by Apple but distributed as 1.2).
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). Some developers hope that with a successful jailbreak -- allowing full read/write access -- of iPhone OS 2.0 (or 1.2), applications that are allow unfettered access to iPhone system components can be offered.
In fact, developers have already been successful in building current unofficial iPhone applications that clearly violate Apple's restrictions -- including a popular NES emulator -- that run under Aspen (iPhone OS 1.2 ) without any code changes.
Jonathan Zdziarski, author of the NES emulator, told us:
"I have just finished building NES.app (my Nintendo emulator) for Aspen, which is one of the more complex iPhone applications, and managed to do so without making any code changes whatsoever. The lower-level APIs, which are largely used by Apple's own preloaded applications, are all just as accessible to jailbroken iPhones as they were with 1.0 and 1.1."
In other words, iPhone applications written with the unofficial development environment can function fully under coming, SDK-compliant OS revisions.