- Experience with object-oriented programming with a compiled language such as Java or C++.
- Must own an iPhone
Understanding the Anatomy of an iPhone App
- Recognize the critical differences between iPhone applications and desktop apps.
- Gain experience with the iPhone Software Development Kit (SDK).
- Learn the keys to preparing an application for distribution through the App Store.
Harnessing the Power of the Xcode Integrated Development Environment (IDE)
- Make use of built-in app templates to shorten your software development cycle.
- Connect user interface controls to code segments with Interface Builder.
- Explore the spectrum of Xcode development utilities, such as the iPhone Simulator.
Mastering the Fundamentals of iPhone Programming
- Gain fluency in the object-oriented syntax of Objective-C programming to write better code, faster.
- Harness the power of property list files, or plists, to efficiently store and manage structured data.
- Understand the core design patterns of the Cocoa Touch API, such as delegates and data sources.
- Employ programming concepts aligned to iPhone hardware specifications, such as message passing and memory management.
- Author applications which are easier to implement and maintain using the Model-View-Controller (MVC) design pattern.
Designing Highly-Intuitive Interfaces for iPhone's Multitouch Screen
- Understand and apply Apple's Human Interface Guidelines (HIG) and related system-provided controls.
- Guide user input with pickers: menus which can dynamically display options from selected data sources.
- Prompt the user for input with minimal interruption to the application's overall 'flow' with Action Sheets.
- Provide users a simple means of navigating between views using tab bar controllers.
- Enable applications to respond appropriately to multitouch gestures, swipes, pinches and iPhone rotation.
Enhancing Apps with Graphics and Animation
- Understand the difference between iPhone windows and views.
- Use a navigation template to coordinate multiple views.
- Dynamically draw custom graphic elements within a window.
- Provide instant, context-specific feedback with animations.
Developing Enterprise-Scale iPhone Apps
- Enable mobile users to save, edit and sort large volumes of data.
- Use Core Data to track changes and migrate between versions of data while maintaining optimum performance.
- Incorporate a SQLite database for faster, more powerful applications.
- Handle frequent data changes efficiently with the Managed Object Context.
Incorporating Digital Photography and Location Data into iPhone Apps
- Enable applications to take photos with the iPhone's camera.
- Integrate digital photos into applications rapidly, with a minimum of coding.
- Use Core Location to capture the user's current location or heading, and use that information in applications.
- Tie geolocation data into on-board maps and enable users to annotate maps with the Map Kit Framework.