Apple Reveals iPhone SDK
In addition to sweet enterprise support including push e-mail and even sweeter new games (SPORE!!), Jobs revealed the innards of the dev kit.
• Apple combined mouse and keyboard Cocoa with our multitouch knowledge to build Cocoa touch for the iPhone SDK.
• Core OS has the OS X Kernel, Lib System, BSD TCP/IP, Sockets, Security, Power Mgmt, Keychain, Certificates, File System, Bonjour
• Took everything we knew about creating stuff with Cocoa and everything about a touch API for iPhone to build Cocoa Touch
• Cocoa is great, but based on mouse & keyboard input
• Used all of the above (except Cocoa) for iPhone OS
• Cocoa, Media, Core Services, CoreOS
• Has all audio/video capabilities: Core Audio, OpenAL, Audio Mixing, Audio Recording, Video Playback, JPG/PNG/TIFF, PDF, Quartz (2D) Core Animation, OpenGL ES
• "The Media layer is everything you'd expect from Apple"
• Also include SQLite, Core Location
• Cocoa Touch: Multi-Touch events/controls, Accelerometer, View Hierarchy, Localization, Alerts, Web View, People Picker, Image Picker, Camera
• Everything is hardware accelerated for performance and long battery life
• OpenGL ES is the embedded version of OpenGL, "absolute screamer" on the iPhone
• Started there and enhanced it to work with the iPhone
• Xcode is our dev environment and what we use to build everything for Mac OS X
• "This is the architecture of the iPhone OS. It is the most advanced platform out there for mobile devices. We are YEARS ahead of any other platform for mobile devices."
• Integrated documentation, "Shipping a lot of great documentation with the SDK, and you can access it within the software"
• Project management, integrated source control
• Xcode will now code complete for the APIs in the SDK
• Can connect to iPhone like the remote debugger and see live performance of your app on your Mac from the iPhone
• Instruments: "Comprehensive suite of performance analysis tools"
• Do code connections within Interface Builder, connect it right to the code
• All the controls from Cocoa Touch are built right into Interface Builder
• Interface Builder: "Makes building your user interface as simple as drag-and-drop"
• Remote debugger--plug in your iPhone, run it on the iPhone live, but debug from the Mac
• Run your iPhone app in the simulator on your Mac, works great side-by-side with Xcode
• Introducing brand new iPhone dev tool: iPhone Simulator
• See peaks and valleys, realtime data, timeline view, multiple data tracks
Apple: Apple Reveals iPhone SDK