iPhone Programming


Description The iPhone represents an evolutionary leap forward in the combined technologies of smartphones and personal computing. With a multitouch screen, built-in accelerometer and virtual keyboard, the iPhone also requires the mobile application developer to adopt a vastly different software design philosophy. AcademyX's iPhone Development training will provide you with the context and practical exercises necessary to begin building and testing your own iPhone applications, and prepare your apps for distribution via the App Store. As a part of this training, you will gain a thorough understanding iPhone development's underlying conceptual differences, and the hands-on exercises necessary to develop complex applications for this popular platform.


  • 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.