Programming iOS 6

Errata for Programming iOS 6

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
Page 12
1st paragraph

Repeated "is" in "If you are asked what type is intPtr is, the answer is int* (a pointer to an int)". And congratulations on the third edition!

Note from the Author or Editor:
Good catch, fixed now in my copy.

Peter Olsen  Mar 03, 2013 
Page 159
2nd to last paragraph

"If, when you showed the assistant pane, it didn't appear with MyClass's header file showing" should be "MyClass's implementation file" to reflect the change in where the instance variable is declared.

Note from the Author or Editor:
Good point.

Peter Olsen  Mar 09, 2013 
Page 191
List, Item 4

The text references a button called "Make localized" however in XCode 4.6.3 (4H1503) this button's title is "Localize ..."

Note from the Author or Editor:
Nice catch. It certainly must have said this in some earlier version of Xcode. Fixed now in my copy.

Nicholas Barnard  Jul 05, 2013 
Page 229
list of sizes

Landscape iPad sizes should be 1024 by 748 and 2048 by 1496. (Corrected in my copy.)

Matt Neuburg
Matt Neuburg
Apr 03, 2013 
Page 532
top of page

'opacity' should be 'alpha'. UIView properties are being discussed, and UIView does not have an 'opacity' property, but does have an 'alpha' property. Wonderful book.

Note from the Author or Editor:
Well, shoot! Yes, it's so easy to get confused between layer "opacity" and view "alpha". Why they need two different names beats the heck out of me. I probably make this mistake elsewhere as well... Fixed in my copy.

Mark Ackerman  Apr 04, 2013 
Page 645
2nd & 4th paragraphs

2 methods are listed: -shouldAutomaticallyForwardRotationMethods -shouldAutomaticallyForwardAppearanceMethods for both methods this description appears: "If you override this method to return YES, you are responsible..." Instead of 'YES', it appears it should be 'NO', for if it is no then that's when the user is responsible for forwarding these events. Fantastic book -- looking forward to your next edition!

Note from the Author or Editor:
Quite so. Well spotted! Changed in my copy.

Eric Habberstad  Jun 20, 2013 
Page 705
entire page

There is a major further advantage to the iOS 6 method `dequeueReusableCellWithIdentifier:forIndexPath:` that I omit here and throughout the chapter, namely, that it returns a cell whose bounds are already set correctly for the row of the table. This is something that the older `dequeueReusableCellWithIdentifier:` did not do; it returned nil, or a reused cell whose size depended on its previous use, and it wasn't given its size until later in the process. Not only should I list that here, but it might affect the discussion of things like variable row-height tables later in the chapter.

Matt Neuburg
Matt Neuburg
Apr 24, 2013 
Page 973

It appears that the behavior of ABAddressBookCreateWithOptions has changed, perhaps in iOS 6.1. If access has never been granted or denied (i.e. it is undetermined) no longer returns NULL with an error. Instead, it returns a useless empty read-only database. Thus, ABAddressBookRequestAccessWithCompletion is no longer useless; it is essential. You must test for access, and if it is undetermined, you must call ABAddressBookRequestAccessWithCompletion to get the request for access to appear.

Matt Neuburg
Matt Neuburg
May 16, 2013