iPhone SDK Application Development
Building Applications for the AppStore
By Jonathan Zdziarski
January 2009
Pages: 392
ISBN 10: 0-596-15405-4 |
ISBN 13: 9780596154059
Press Release




(2) (Average of 4 Customer Reviews)


Description
This practical book offers the knowledge and code you need to create mobile applications and games for the iPhone and iPod Touch, using the Apple SDK. iPhone SDK Application Development introduces you to this development paradigm and the Objective-C language it uses with numerous examples, and also walks you through the many SDK frameworks necessary for designing full-featured applications. The book will benefit experienced developers and those just starting out on the iPhone.
Full Description
This practical book offers the knowledge and code you need to create cutting-edge mobile applications and games for the iPhone and iPod Touch, using Apple's iPhone SDK.
iPhone SDK Application Development introduces you to this development paradigm and the Objective-C language it uses with numerous examples, and also walks you through the many SDK frameworks necessary for designing full-featured applications.
This book will help you:
- Design user interface elements with Interface Builder and the UI Kit framework
- Create application controls, such as windows and navigation bars
- Build and manage layers and transformations using Core Graphics and Quartz Core
- Mix and play sound files using AVFoundation, and record and play back digital sound streams using Audio Toolbox
- Handle network programming with the CFNetwork framework
- Use the Core Location framework to interact with the iPhone's GPS
- Add movie players to your application
iPhone SDK Application Development will benefit experienced developers and those just starting out on the iPhone. Important development concepts are explained thoroughly, and enough advanced examples are provided to make this book a great reference once you become an expert.
Featured customer reviews

Re: Chapter 7 partially completed,
July 05 2009
Submitted by
Stacie
[
Respond |
View]
I totally agree with Dr. Frankencopter.
I bought the book for the CFSocket stuff. I don't think this code is ever compiled and tested!
another example in this chapter on page 183 'Sending data'
the example is never compiled and tested.
So Mr. Jonathan Zdziarski please review the code in this chapter and help us with a working CFSocket Server and Client example.
I did not expect this from an O'reilly book. Poor quality.
Very Disappointed,
June 05 2009
Submitted by
Jamesmwlv
[
Respond |
View]
Basically the book is not for a iphone programming beginner. The author forgets to include all the steps to program his examples and put minute clues in some the paragrams and those are even wrong. I tossed it in the trash!
Early impressions not good,
May 29 2009
Submitted by
Don
[
Respond |
View]
I have only read the first few chapters so I can't judge the entire book, but there are such major problems with Chapter 2 on the Interface Builder (IB) that I am already very dissatisfied with the book. Note that I am a complete newcomer to the Interface Builder but I am the target audience for this chapter.
First let me say that the tutorial simply does not create the desired application, apparently because of some missing step. So that is major, but there are many things that are upsetting about this tutorial and how it is presented to the reader.
The fist thing is that the steps of the tutorial are buried in the text and hard to distinguish from the non-tutorial information. For example, the first two steps of the tutorial are to create a project with Xcode and to open the generated MainWindow.xib file in Interface Builder by double-clicking it from Xcode. Immediately following those steps there is what appears to be the next tutorial step, saying, "To create a new IB project from a template, select New from the File menu". Yet this is not really a step in the tutorial and following it hopelessly confuses the reader. If the tutorial steps were clearly differentiated from the expository text and were numbered and had a distinct font, this confusion would not have occurred.
The next gripe is that the tutorial has many pages of expository text inserted right in the middle of it, making it very hard to follow or to find a particular step. It would be much better if the tutorial was in one uninterrupted piece and followed the expository material.
There were places in the tutorial in which the instructions did not follow logically. For example, there is a step that tells the reader to launch the IB and edit the MainWindow template. But at this point the IB is still open from the previous step. At another point, the instructions say to save the template as MainWindow, but since you started IB by opening MainWindow, the instruction should simply say to save the template. It is a minor point but still causes confusion because it doesn't make sense.
There are also parts of the tutorial that could use more information, including screen grabs. For example, where it tells you to drag a Tab Bar Controller into the document window, it fails to mention that you need to open the Library first. Another minor point but it shows lack of appreciation for the inexperience of the reader for which it is intended.
Another point of confusion arose when the instructions say "We suggest that you create a separate view class to correspond to each tab and use an IB file to describe them." The impression I got was that I was supposed to create the view classes first and that I would then describe them with an IB file. It is clarified in the next paragraph but that came too late to prevent me from wasting time trying to figure out how I should create a view class and what it meant to describe it with IB once it was created.
There were other points of confusion that could have been avoided if the author had worked through the tutorial before publishing it, which I seriously doubt he did. For example you are instructed to save templates and the default location is in the application, which causes Xcode to ask if you want to add them to the app. But the instructions seem to assume that you saved them somewhere else and need to drag them into the application later. And the instructions do not tell you how to fill in the forms that appear when you do add the templates to the application.
But the really big problem is that it is impossible to create the desired application with the tutorial. The instructions at one point say that that the application delegate class will have properties for window and viewController, but there is only window, none for viewController. And from this point on the instructions are impossible to follow because they depend on the viewController property. It seems apparent that neither the author nor the editor ever went through the tutorial.
Maybe things get better as the book progresses.
Read all reviews
Nice beginners tutorial,
May 11 2009
Submitted by
Reggie Burnett
[
Respond |
View]
While this book is not as comprehensive as some have wanted, I found it to be a nice beginners tutorial to writing iPhone applications. The book starts out with an objective-C primer. Since objective-C has such an "interesting" syntax this is badly needed, even though I come from a strong programming background.
Each section includes a reasonably complex sample that puts that section's material to use. Most of the sections also include a "Further Study" area that gives you some homework. This is where the user can expand his knowledge through research and working with the tools.
The book jumps around a bit by first going over simple UI patterns, then spending time talking about audio services and networking, only to come back and spend more time with UI controls, only to jump back into audio/video. Still, one has to remember that this is a reference book and not a novel so jumping around is ok.
The sample applications that I have tried so far are ok and I feel like I have a much better grasp on how the iPhone system works.
This book is not an XCode or Interface Builder tutorial.
Chapter 7 partially completed,
March 31 2009
Submitted by
Dr. Frankencopter
[
Respond |
View]
I typed in the code by hand, and found a few syntax errors (TCPServer gets called TCPSocket), and the dataWithBytes method call to NSData has a comma in it that needs to be deleted, and all sorts of stuff was missing that should have been in a header file (function prototype for the AcceptCallBack, and the necessary #includes). It also generates compiler warnings when using strchr() and CFWriteStream due to different point signedness.
I doubt if this code was ever compiled...
This is pretty disappointing to me since the Networking chapter was the sole reason I bought this book...I needed working example code to get up and running fast.
I hope there will be an update, and some tested example code posted (both client and server side).
I didn't rate the book, since I jumped straight to Chapter 7 after receiving it.
Chapter 7 partially completed,
March 05 2009
Submitted by
Gordon Vidaver
[
Respond |
View]
Not sure where else to provide feedback for this book. If there's a better place please tell me.
Seems like a good book but this complaint is about Chapter 7 : Networking.
Issues :
1) Example code is missing.
2) Client side of "7.1.5. CFSocket Example: Joke Server" is missing. I expected sections here like 7.1.5.1 "JokeServer" and 7.1.5.2 "JokeClient."
3) It's not clear from the "JokeServer" example whether the server is meant to be another iPhone or a Mac. And in general it seems you'd want to focus more on the client side of the interaction anyway.
4) It seems like more common networking examples could be have been included, like posting data to a URL. (Perhaps I missed the section on this.)
5) No screen shots of a working example on the iPhone and server, which makes me wonder if it was never actually done by the author.
Media reviews
"This book is easy to use both as a reference and for a linear once-over read to familiarize myself with the aspects of iPhone programming. I like the way the sections step through each example, starting from the simplest form to the more complex form where Controllers are used for multiple views, or moving from the use of Interface builder files to custom coding."
-- John Draper ("Cap'n Crunch"), longtime phone phreak and software developer
"This book is in a completely different league from other offerings I've seen. The book is extremely comprehensive, and having so many annotated sample projects will be a boon to iPhone developers. Even experienced developers who aren't familiar with a particular framework will be able to crack open these sample apps and get very clear and concise examples. Jonathan speaks with authority, clarity, and
experience, something that will definitely differentiate this book from other offerings I've seen."
-- Jon Hohle
Read all reviews