Errata

Head First iPhone and iPad Development

Errata for Head First iPhone and iPad Development

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.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

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

Version Location Description Submitted by Date submitted
PDF Page xxv
3rd paragraph

The text reads: "[...] we assume that if you?re holding this book, you really want to learn how to design user-friendly websites."

But this book is about creating iPhone and iPad apps, not websites. Cut and paste error from a different book?

Jeff Chausse  Jan 23, 2014 
ePub Page 1
Table of contents / chapter structure

The ePub, read using iBooks, has a different chapter structure and layout than the actual book / PDF. This causes some confusion when checking out the appropriate chapter branch source code from GitHub using the associated instructions in the text.

I ended up switching to using the PDF instead once I did the comparison. Wish I had switched sooner :) Overall, the PDF is much nicer to look at as everything renders nicely including images.

Also, I think there may be an image missing from the ePub near the middle of the last chapter.

James Duhault  Jan 30, 2014 
PDF Page 15
Figure with code fragment for viewDidLoad

Both assignment statements end with

, nil];

but the actual code just has

];

I gather that 'nil' is no longer required for the last element of an NSString.

Kurt Schmucker  Jan 26, 2014 
PDF Page 15
Suggested callout to be added

Suggested addition:

Type it; Don't Copy & Paste

Even if you have an electronic copy of this book, don't copy and paste code changes -- type them yourself.
If you copy and paste, there may be some text changes that occur, like changing simple, straight quotation marks to typographically-correct angled quotation marks, and Xcode won't like these changes.

Kurt Schmucker  Jan 26, 2014 
Printed Page 15, 16
Screenshot of new text

In the screenshot of code on pages 15 & 16 in the lists for self.feelings and self.activities, each line of code ends with "nil". Xcode 5 gives an error when 'nil' is used in each instance. If you remove 'nil' the program runs fine.

Frank Bara  Jan 31, 2014 
PDF Page 16
the code image for InstaTwitViewController.m

Both of the arrays in InstaTwitViewController.m
end with a nil in the image. The code from Github does not. If you add the nil at the end of each array to make it match the image completely then you get an error.

Trevor George  Jan 26, 2014 
PDF Page 23
Step 2 of Test Drive

Text currently states:

The files are square-new-icon-60.png and square-new-icon-120.png.


Actual files in the project from GitHub are old-icon-bird-square-120.png and square-new-icon-120.png

Kurt Schmucker  Jan 26, 2014 
PDF, ePub Page 33
in the column titled "WHO DOES WHAT?"

The explanations (What the thing does) of 'Model' and 'View' are interchanged.

mg6t  Feb 27, 2014 
PDF, ePub Page 33
in the column titled "WHO DOES WHAT?"

Sorry, I made a mistake. This is not an error. The explanations are interchanged intentionally.

mg6t  Feb 27, 2014 
PDF, ePub Page 69
Bottom snippet of ready baked code

The line break on the statement

SLComposeViewController *composer = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];

breaks the method name

composeViewControllerForServiceType

into

compose
ViewControllerForServiceType

Breaking the method name causes a compilation error with the message "Expected :", which is terribly confusing to a beginner.

Carlos Lopes Pereira  Apr 15, 2014 
Printed Page 81
81-112

In the printed 3rd edition of the book I purchased from Barnes & Noble, pages 81-112 are included twice and pages 113-144 are missing. What can I do to get the missing content?

Greg Schreiber  Mar 17, 2014 
PDF Page 113
First Paragraph

The instructions for generating a class do not tell you to pick a superclass. Mine happened to default to UIViewController causing me to have errors until I figured out that it probably needed to be an NSObject. The included code didn't show that part leaving me on my own to figure it out.

Trevor George  Jan 31, 2014 
PDF Page 114
Album.h code

The super class declaration is missing.

It should be
@interface AlbumDataController () : NSObject
instead of
@interface AlbumDataController ()
only.

Fabiola Werneck  Jan 20, 2014 
Printed Page 240
Screen shots of test drive

When running the test drive on P240, data entered into the Details view is retained but the title from the Details view does not appear in the Master table view cell.

Also numerous warnings regarding use of deprecated features

Using Xcode 6

Anonymous  Oct 31, 2014 
PDF Page 273
Second paragraph

"This is going to be similar to what we did for Spin City" should read "This is going to be similar to what we did for Gilligizer". Spin City project used a plist for storing data.

James Duhault  Jan 30, 2014 
PDF Page 275
Code snippets

A code snippet and / or comment for updating - (NSFetchedResultsController *)fetchedResultsController is missing. The name of the entity being loaded needs to be changed from "Event" to "PhoneBooth" as follows:

NSEntityDescription *entity = [NSEntityDescription entityForName:@"PhoneBooth" inManagedObjectContext:self.managedObjectContext];

James Duhault  Jan 30, 2014 
PDF Page 303
Code snippet image

Missing addition of CLLocationManagerDelegate protocol to DetailViewController interface definition.

James Duhault  Jan 30, 2014 
PDF Page 307
Second paragraph

You may want to add a brief comment indicating that CoreLocation can't be tested from within the simulator.

James Duhault  Jan 30, 2014 
PDF Page 308
Last Q/A pair

The last question "What's the deal with the private interfaces again?" appears to refer to non-existent copy / code. It includes the text "Remember that your header file captures your public interface or API. But with refreshPhoneboothInformation, you don?t want this internal method to be part of your API...".

James Duhault  Jan 30, 2014 
PDF Page 316
Code snippet image

Brackets and @private keyword added to PhoneBooth interface are not required and are not in master code on GitHub.

James Duhault  Jan 31, 2014 
PDF Page 317
Bottom

A small section should be added indicating that configureView in DetailViewController.m needs to be modified to add the annotation to the map with the following code (it's in the master branch on GitHub):

...
// Add the annotation to the map and zoom to it.
[self.mapView addAnnotation:self.detailItem];
MKCoordinateRegion region;
region.center.latitude = [self.detailItem.lat doubleValue];
region.center.longitude = [self.detailItem.lon doubleValue];
region.span.latitudeDelta = 0.5;
region.span.longitudeDelta = 0.5;

[self.mapView setRegion:region animated:YES];
...

James Duhault  Jan 31, 2014