In releasing the SDK, Apple said it would open up the application programming interfaces for all four layers of the mobile version of the Mac OS X powering the iPhone. The stack includes the operating system's core and media services and its multitouch user interface.
Scott Forstall, Apple's VP of iPhone software, told reporters gathered at the company's Cupertino, Calif., headquarters that the SDK contained the same tools that Apple developers used within the company. "It's the same SDK that Apple uses," Forstall said.
The SDK comprises iPhone versions of the same development tools used for the Mac OS X in Apple desktops and notebooks. The toolset includes the Xcode development platform, which includes a source code editor and debugger, an interface builder, and testing software for checking and fine-tuning application performance. The iPhone debugger can be run remotely to check applications as they run on the smartphone.
Unique to the iPhone development platform is a simulation program that runs on the Mac and mimics the iPhone environment for testing applications.
Applications built with the SDK will be able to connect to the APIs in the iPhone's core services, such as the address book, calendar, e-mail client, SQLite database, and the location services for GPS applications. On an even deeper level, developers will be able to access the OS's power management services and its Internet Protocol layer.
APIs within the media layer of the iPhone stack provide access to the device's audio, animation, graphics, and video playback services. The UI layer, called Cocoa Touch, contains APIs for accessing the phone's multitouch controls, camera, and other services.
"We have a fantastic set of tools and a fantastic framework for the iPhone," Forstall said during the event, which was led by Apple chief executive Steve Jobs.
As part of the unveiling, Apple brought on stage companies that demonstrated software they built in two weeks for the iPhone. The companies included game makers Electronic Arts and Sega, Salesforce.com, AOL, and Epocrates, which makes mobile applications for physicians.
EA and Sega built games that turned the iPhone into a controller. Tilting the iPhone would change the direction of the game's moving characters. Salesforce, which offers CRM software over the Web, built an analytics and reporting application for customer data. "This SDK is really powerful, and the iPhone has a lot of unique capabilities," said Chuck Dietrich, an executive of the software-as-a-service vendor.
Epocrates built an application for looking up drug information stored in the iPhone's database, and AOL showed the use of its instant messaging application on the iPhone.
Apple planned to work with developers and enterprise customers over the next several months in fine-tuning the SDK. All the SDK-related features and services would be part of version 2.0 of the iPhone software platform that's scheduled to ship in June. The update would be uploaded to iPhone customers at no charge.
Developers, however, will have to pay $99 to join Apple's developer program and distribute software to iPhone users exclusively through Apple's new App Store, which will be available either directly from the iPhone or through iTunes on a Mac or PC. "The App Store is going to be the exclusive way to distribute applications to the iPhone," Jobs said.
Developers could set their own price for the software, paying Apple 30% of the revenue. Developers offering software at no charge wouldn't pay anything to Apple, beyond the cost of joining the developer program.