Get 1 Year of unlimited Apress for $199
Instant access to all available titles and new releases Apress Access Subscription

Beginning iPhone Development

Exploring the iPhone SDK

By Jeff LaMarche , David Mark

  • eBook Price: $27.99
  • Print Book Price: $39.99
Buy eBook Buy Print Book
Are you a programmer looking for a new challenge? Does the thought of building your very own iPhone app make your heart race and your pulse quicken? If so, then Beginning iPhone Development is just the book for you.

Full Description

  • Add to Wishlist
  • ISBN13: 978-1-4302-1626-1
  • User Level: Beginner to Advanced
  • Publication Date: November 20, 2008
  • Available eBook Formats: PDF

Related Titles

  • Beginning Hybrid Mobile Application Development
  • Designing for iOS with Sketch
  • Get Fit with Apple Watch
  • Beginning iPhone Development with Swift 2
  • Pro iOS Table Views and Collection Views
  • Troubleshooting Xcode
Full Description

Are you a programmer looking for a new challenge? Does the thought of building your very own iPhone app make your heart race and your pulse quicken? If so, then Beginning iPhone Development is just the book for you.

Assuming only a minimal working knowledge of Objective-C, and written in a friendly, easy-to-follow style, Beginning iPhone Development offers a complete soup-to-nuts course in iPhone and iPod Touch programming.

The book starts with the basics, walking you through the process of downloading and installing Apple's free iPhone software development kit, then stepping you though the creation of your first simple iPhone application. You'll move on from there, mastering all the iPhone interface elements that you've come to know and love, such as buttons, switches, pickers, toolbars, sliders, etc.

You'll master a variety of design patterns, from the simplest single view to complex hierarchical drill-downs. You'll master the art of table-building and learn how to save your data using the iPhone file system. You'll also learn how to save and retrieve your data using SQLite, iPhone's built-in database management system.

You'll learn how to draw using Quartz 2D and OpenGL ES. You'll add multi-touch gesture support (pinches and swipes) to your applications, and work with the Camera, photo library, and Accelerometer. You'll master application preferences, learn how to localize your apps into other languages, and so much more.

Apple's iPhone SDK, this book, and your imagination are all you'll need to start building your very own best-selling iPhone applications.


If you think that you've found an error in this book, please let us know by emailing to . You will find any confirmed erratum below, so you can check if your concern has already been addressed.

On page 11:
Source code files not (no longer?) to be found online?
Author Comment:
The URL for source code download is:

Keep in mind this is a three year old book; we suggest you explore the forums at the above-listed site for more information and resources.

On page 11:
Link for "Project Files" under Source Code/Download, all I get are two pdf docs. The bokks says to simply "expand the archive and copy project folders" "WHERE ARE THE PROJECT FOLDERS?"

Couldn't even get started on the first project b/c of this error. Thought this would be a good book to follow. It should have just came with a CD with the project files on it.
Author Comment:
Please use this URL to find the source code and other information for this book and others by the same author:

On page 81:
The initialization of alert should include delegate:nil instead of delegate:self

On page 254:
I have the first edition of Beginning iPhone Development (2009) and the code is on page 254.(The bug is also present in Beginning iPhone 4 Development). It is the example of the Second Subcontroller:The Checklist. I am referring to the line:

lastIndexPath = indexPath

I think this should be:

self.lastIndexPath = indexPath or
[self setLastIndexPath:indexPath]

The property lastIndexPath is synthesized and a retain should be applied on it.

However, I think that with the line:

lastIndexPath = indexPath

the retain is not done, i.e. the setter is not called.


    1. PHP Objects, Patterns, and Practice


      View Book

    2. Beginning Android 3D Game Development


      View Book

    3. Troubleshooting Oracle Performance


      View Book

    4. Beginning Amazon Web Services with Node.js


      View Book