iPhone for Programmers:An App-Driven ApproachDescription |
The wild success of the iPhone App Store has created a vibrant and exciting new market for application developers, and has caused business--including Pearson--to scramble to create applications for their customers to use on their iPhones. Developers are desparate for information about programming the iPhone, which uses a programming language, application framework, and development tools that are different from what most developers are used to using. iPhone for Programmers takes an app driven approach to iPhone programming. It does not assume any prior knowledge of Objective-C or Cocoa or of Apple's programming tools. Most importantly, it does NOT teach through a conventional walk-through of the objects, methods, and properties available in the iPhone SDK. Instead, it teaches by doing. It presents fourteen original, working applications, and shows step-by-step how to develop them. For example, developers study touches and gestures through building the "Spot-On" game application. This app also introduces Core Animation. Developers learn about location-based programming through the "Take Me Home App." This app also teaches the Core Location framework and the new iPhone Google Maps API. Each of the fourteen apps discussed in this book functions in a similar way, so that by the end the reader will have a well-rounded mastery of iPhone application development.  |
|
Features |
- This book takes an application driven approach to iPhone programming. It does not assume any prior knowledge of Objective-C or Cocoa or of Apple's programming tools. Most importantly, it does NOT teach through a conventional walk-through of the objects, methods, and properties available to the iPhone developer. Instead, it teaches by doing:
- Developers study touches and gestures through building the Spot-On game application - where the user must touch circles as they appear, while not removing fingers from previous circles. Introduces subclassing UIView and creating subviews. Also introduces multi-touch events and basic features of Core Animation.
- Developers learn about location-based programming through the Take Me Home App, where the user enters a home address and one tab displays an arrow pointing towards the user's home, and the other displays directions for how to get there. Discusses the Core Location framework and the new iPhone Google Maps API.
- The Twitter App is an application that reads and filters Twitter feeds. It introduces Internet network programming concepts.
- The Address Book App-which displays a list of contacts and allows the user to update the list--teaches developers about tables and the UINavigationController. It introduces several types of table views along with the navigation controller.
|

|
|
Table of Contents |
Illustrations xvii Preface xxvii Before You Begin xxxiii
Chapter 1: Introduction to iPhone App Development 1 1.1 Introduction to iPhone for Programmers 2 1.2 iPhone Overview 3 1.3 Key New iPhone 3GS and OS 3.x Features and Enhancements 6 1.4 Downloading Apps from the App Store 7 1.5 iPhone OS 3.x 8 1.6 Objective-C Programming Language 9 1.7 Design Patterns 10 1.8 Cocoa Frameworks 11 1.9 New iPhone SDK 3 Features 13 1.10 Xcode Toolset 14 1.11 Basics of Object Technology 15 1.12 Web 2.0 17 1.13 Test-Driving the Painter App in the iPhone Simulator 17 1.14 Wrap-Up 22 1.15 Deitel Resource Centers 22
Chapter 2: iPhone App Store and App Business Issues 23 2.1 Introduction 24 2.2 iPhone Developer Program: Setting Up Your Profile for Testing and Submitting Apps 25 2.3 iPhone Human Interface Guidelines 30 2.4 Testing Your App 32 2.5 Preparing Your App for Submission through iTunes Connect 32 2.6 Characteristics of Great iPhone Apps 34 2.7 Avoiding Rejection of Your App 35 2.8 Pricing Your App: Free or Fee 36 2.9 Adding an App to iTunes Connect 38 2.10 Monetizing Paid Apps: Using In App Purchase to Sell Virtual Goods 41 2.11 Using iTunes Connect to Manage Your Apps 42 2.12 Marketing Your App 43 2.13 iPhone Anecdotes and Humor 48 2.14 Other Platforms 49 2.15 iPhone Developer Documentation 50 2.16 Wrap-Up 50
Chapter 3: Welcome App 51 Dive-Into® Xcode, Cocoa and Interface Builder 3.1 Introduction 52 3.2 Overview of the Technologies 52 3.3 Xcode 3.x IDE and Cocoa 53 3.4 Building the Application 56 3.5 Building the GUI with Interface Builder 57 3.6 Running the Welcome App 61 3.7 Wrap-Up 63
Chapter 4: Tip Calculator App 64 Introducing Objective-C Programming 4.1 Introduction 65 4.2 Test-Driving the Tip Calculator App 66 4.3 Overview of the Technologies 66 4.4 Building the App 66 4.5 Adding Functionality to Your App 71 4.6 Connecting Objects in Interface Builder 73 4.7 Implementing the Class's Methods 76 4.8 Wrap-Up 81
Chapter 5: Favorite Twitter® Searches App 83 Collections and Cocoa GUI Programming 5.1 Introduction 84 5.2 Test-Driving the Favorite Twitter Searches App 85 5.3 Technologies Overview 86 5.4 Building the App 86 5.5 Wrap-Up 101
Chapter 6: Flag Quiz Game App 102 Controllers and the Utility Application Template 6.1 Introduction 103 6.2 Test-Driving the Flag Quiz Game App 106 6.3 Technologies Overview 106 6.4 Building the App 107 6.5 Wrap-Up 127
Chapter 7: Spot-On Game App 129 Using UIView and Detecting Touches 7.1 Introduction 130 7.2 Test-Driving the Spot-On Game App 132 7.3 Overview of the Technologies 132 7.4 Building the App 132 7.5 Wrap-Up 147
Chapter 8: Cannon Game App 154 Animation with NSTimer and Handling Drag Events 8.1 Introduction 155 8.2 Test-Driving the Cannon Game app 156 8.3 Overview of the Technologies 156 8.4 Building the App 157 8.5 Wrap-Up 171
Chapter 9: Painter App 173 Using Controls with a UIView 9.1 Introduction 174 9.2 Overview of the Technologies 174 9.3 Building the App 175 9.4 Wrap-Up 191
Chapter 10: Address Book App 193 Tables and UINavigationController 10.1 Introduction 194 10.2 Test-Driving the Address Book App 196 10.3 Technologies Overview 196 10.4 Building the App 197 10.5 Wrap-Up 219
Chapter 11: Route Tracker App 220 Map Kit and Core Location (GPS and Compass) 11.1 Introduction 221 11.2 Test-Driving the Route Tracker App 224 11.3 Technologies Overview 224 11.4 Building the App 225 11.5 Wrap-Up 238
Chapter 12: Slideshow App 240 Photos and iPod Library Access 12.1 Introduction 241 12.2 Test-Driving the Slideshow App 244 12.3 Technologies Overview 245 12.4 Building the App 245 12.5 Wrap-Up 276
Chapter 13: Enhanced Slideshow App 278 Serialization Data with NSCoder and Playing Video 13.1 Introduction 279 13.2 Test-Driving the Enhanced Slideshow App 281 13.3 Overview of the Technologies 282 13.4 Building the App 282 13.5 Suggested Enhancements 309 13.6 Wrap-Up 309
Chapter 14: Voice Recorder App 310 Audio Recording and Playback 14.1 Introduction 311 14.2 Test-Driving the Voice Recorder App 314 14.3 Overview of the Technologies 314 14.4 Building the App 315 14.5 Speech Synthesis and Recognition 341 14.6 Wrap-Up 341
Chapter 15: Enhanced Address Book App 342 Managing and Transferring Persistent Data 15.1 Introduction 343 15.2 Test-Driving the Enhanced Address Book App 345 15.3 Technologies Overview 345 15.4 Building the App 346 15.5 Wrap-Up 362
Chapter 16: Twitter® Discount Airfares App 364 Internet Enabled Applications 16.1 Introduction 365 16.2 Test-Driving the Twitter Discount Airfares App 366 16.3 Technologies Overview 366 16.4 Building the App 366 16.5 Wrap-Up 386
Index 387
|

|
|
Back Cover |
The professional programmer's DEITEL® guide to iPhone app development using iPhone SDK 3.x, Xcode®, Objective-C® and Cocoa®
More than 1.5 billion iPhone apps were downloaded from Apple's App Store in just one year! This book gives you everything you'll need to start developing great iPhone apps quickly and-once you've joined Apple's fee-based iPhone Developer Program-to get them up and running on the App Store. The book uses an app-driven approach-each new technology is discussed in the context of 14 fully tested iPhone apps (7700 lines of code), complete with syntax shading, code walkthroughs and sample outputs. Apps you'll develop include:
- Welcome
- Spot-On Game
- Route Tracker
- Tip Calculator
- Cannon Game
- Slideshow
- Favorite Twitter® Searches
- Painter
- Voice Recorder
- Flag Quiz Game
- Address Book
- Twitter® Discount Airfares
By Chapter 3 you'll be building apps using Xcode®, Cocoa® and Interface Builder. You'll learn object-oriented programming in Objective-C® and build apps using the latest iPhone 3.x technologies including the Game Kit, iPod library access and more.
iPhone for Programmers include practical, example-rich coverage of:
• iPhone SDK 3.x, XCode®, Interface Builder • Object-Oriented Programming in Objective-C® and Cocoa® • Collections, GUI, Event Handling • Controllers, Application Templates • UIView, Multi-Touch™ • Core Audio, Core Animation, NSTimer • Tables, UINavigationController • Map Kit, Core Location, GPS, Compass • Photos, iPod Library Access • Serialization |

|
|
Author |
| Dr. Harvey M. Deitel, Chairman and Chief Strategy Officer of Deitel and Associates, Inc., has 45 years of academic and industry experience in the computer field. He has 20 years of college teaching experience, including earning tenure and serving as the Chairman of the Computer Science Department at Boston College before founding Deitel and Associates. Paul J. Deitel, CEO and CTO of Deitel and Associates, is a graduate of MIT's Sloan School of Management, where he studied Information Technology. He has been designated by Sun Microsystems as a Java Champion. |

|
|
Reader Review(s) |
Pre-publication Reviewer Testimonials
“I wish I'd had this book in my hands when I started developing on the iPhone. What took me a lot of time and many mistakes to learn is beautifully explained in a clear, concise style that will take you from zero to publishing your first app in no time.” -Marcantonio Magnarapa, Research & Development on Mobile Platforms, Ogilvy Interactive
“Covers a wide variety of iPhone programming topics, including advanced features like Core Location, video playback and asynchronous network communication. It provides badly needed advice on how to use XCode, how to submit your app to the App Store, how to set your price, and how to deal with many other non-programming issues that surround iPhone development. It gives a quick start to iPhone programming, showing how to build 14 complete iPhone apps, several of which provide day-to-day usability. For each app, the book briefly describes the purpose of the app, the Objective-C and Cocoa technologies used to build it, and a detailed line-by-line walkthrough of the app's source code. All of the source code and project files are available for download so that you can compile and test-drive each of the apps as you read along. I really like the way that the reader is introduced to the completed app for each chapter up front, providing a framework for the discussion of how to build it. This book fits the bill for any programmer interested in taking up iPhone development.” -Zach Saul, Founder, Retronyms , and co-creator of Recorder-one of the top 10 selling iPhone apps for 2008
“At last an iPhone development book for the serious professional. Provides solid, real world applications, many of which would not look out of place in the App Store itself. The book's excellent writing takes the user on a line-by-line analysis of the complexities of SDK 3.x programming. This text will never be far from the professional programmer's side and provides so much more than a regurgitation of existing reference documentation. One of the best books on the subject and a must-have for any developer's bookcase. This really is turning into the definitive iPhone book.“ -Rik Watson, Senior Software Engineer, Lockheed Martin
|

|
|
|