iPhone App Development: The Missing Manual

Errata for iPhone App Development: The Missing Manual

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date submitted Date corrected
Other Digital Version
"You will also see a gray View window...... If you accidentally close the View window..."

On the iphone-purchased version of the book, on page 24 (26,31% into the book), the text states that "If you accidentally close the view window, you can reopen it by double-clicking View in the document window." does not perform the action. Also, I was only able to open the View window when double-clicking the MainWindow.xib file rather than the HitMakerView Controller.xib.

Am I doing anything wrong ? Also, I'm new to Obj-C/Cocoa and MAC OS altogether...

Thanks !

Note from the Author or Editor:
It's possible that this problem is related to the problems people were having opening the Interface Builder files (due to a bug in that application.) Please try downloading the updated files:

Ricardo Ramos // BRAZIL  Jun 10, 2010 
Page 40
Second block of source

The test for isEqualToString for myString is incorrect, as written it would return NO and not execute any code within the curly braces

Note from the Author or Editor:
The problem here is that the comment in the sample code is misleading. A better version follows:

NSString *myString = @′′something′′;
if ([myString isEqualToString:[myString awesomeString]]) {
// code here will never get executed because myString isn't awesome

NSString *myOtherString = @′′SOMETHING ELSE!!!′′;
if ([myOtherString isEqualToString:[myOtherString awesomeString]]) {
// myOtherString, on the other hand, is truly awesome so code here runs

Anonymous  May 12, 2010 
Page 54
Last paragraph

The last sentence is: "(Make sure to remember the semicolons when specifying the name, or the breakpoint won�t fire.)"

It is not "semicolons" (";") but colons (":").

Note from the Author or Editor:
Yes, colons (":") are used for message selectors, not semicolons.

Philippe Casgrain  May 24, 2010  Apr 26, 2019
Page 86
In between the 2 tips sections on the page

Using XCode/Interface Builder v3.2.2 opening the HitMakerViewController.xib file per the exercise the view window does not open and double clicking the "View" in the document window does not open the view window either. The exercise is impossible to complete as described because there is no way to follow along without the view window being open.

Note from the Author or Editor:
There is a bug in Interface Builder that prevents it from opening views on a monitor that's smaller than the one they were saved on. The .XIB files in all the sample code have been updated so they can be opened correctly on all monitor sizes.

The updated files can be downloaded from:

BSherman  May 25, 2010 
Page 93-94
Figure 3-8, Figure 3-9

The screenshots for Figures 3-8 and 3-9 are incorrect. They need to be swapped.

Note from the Author or Editor:
In the ePub version of the book, the image for Figure 3-8 is correct, but the caption text is incorrect (it's shown under Figure 3-9, instead.) Likewise, the image in Figure 3-9 is correct, but the caption is shown in Figure 3-8.

In the PDF and printed versions of the book, the images and captions are match, but Figure 3-8 should be shown where 3-9 is (and vice versa.)

Anonymous  Jun 01, 2010 
Other Digital Version
First block of example code

NSUInteger count = [array count];

should be:

NSUInteger count = [myArray count];

Note from the Author or Editor:
On page 52 (of the printed edition) the code is indeed wrong. The receiver of the -count method should be myArray, not array.

Zachery Bir  Jul 05, 2010  Apr 26, 2019
Page 118

"undo complexity" should be "undue complexity"

Note from the Author or Editor:
Change "undo complexity" to "undue complexity" on page 118.

smparkes  May 06, 2010  Apr 26, 2019
Page 131
3.rd point

Point 3. reads
3. Select "Icon already includes gloss and bevel effects" from the list

- There is no such list in the current XCode version
- the property you have to write down here is "UIPrerenderedIcon"

Note from the Author or Editor:
There were some beta versions of Xcode that didn't report this value correctly (and you had to use UIPrerenderedIcon as a workaround.)

Also, the label has changed in recent Xcode releases to just "Icon already includes gloss effects".

Anonymous  May 31, 2010 
Other Digital Version
Flipping out and in, last page of the chapter -1, Note block

"This class, which is based on UIViewControlle, lets you..."

Just missing an "r" at the end of UIViewController.

Etienne Segonzac  Jul 27, 2010  Apr 26, 2019
Other Digital Version
713 (of ipad ebook)

You mention that the HTML for your site is available on the website. it is not in any of the zip files.

Note from the Author or Editor:
The Safety Light website was missing from Missing CD downloads. The downloads have been updated and you can get the files from:

jason  Jun 16, 2010