21 April 2015 P2.0 (Printing)

This release updates the book for Xcode 6.3, which in turn updates the Swift language to Swift 1.2. The syntax has changed in several places that broke our code throughout the book. A full set of Swift language changes can be found in the Xcode release notes, but the three that most effect our readers are:

  • New as! operator—When forcing a conversion from a general type to a more specific type, such as from AnyObject to UITableViewCell, Swift now requires use of a force-conversion operator that acknowledges the risk that the conversion may fail. For us, that means a line like let foo = bar as Baz now becomes let foo = bar as! Baz.
  • Implicit conversion from certain Objective-C classes to Swift types has been removed—Previously, we could freely mix the foundation class NSString with the Swift String. Now, this requires an explicit conversion, like let mySwiftString = myNSString as String.
  • Many iOS APIs now return Swift types rather than Objective-C types—This means that many places where we used to have to work with NSString are now just the normal Swift String.

There are a few other changes to the language and the frameworks that don’t affect this book, and in many cases Xcode will correctly suggest syntax fixes to bring old code up to Swift 1.2 standards. We’ve taken care of that by updating the book’s content and the downloadable sample code for the new syntax.

31 March 2015 P1.0 (Printing)

First printing.

06 March 2015 B5.0

Production is complete. Now it’s on to layout and the printer.

21 January 2015 B4.0

This beta includes the final two chapters. In “Working With Photos,” you’ll see how iOS 8’s new Photos Framework allows us to query the photo library for photos the user has taken, turn them into UIImages, and even perform cool effects on them with the Core Image framework. And we close the book with “Publishing To The App Store,” which covers the long-term care and feeding of our app: keeping track of changes with git source control; preparing an app for submission to Apple’s review team; and interpreting crash reports from real-world users to find and fix bugs in our app, even when its out of our hands.

The book is now content-complete and heading off to production.

03 December 2014 B3.0

Remember how Apple’s “Snow Leopard” boasted that it had no new features and, instead, just fixed and modernized all of Mac OS X’s internals? This is kind of our “Snow” release of our iOS 8 SDK Development beta book. While there are no new chapters in this release, the chapter “Debugging Apps” is now complete. Also, we have rewritten all of the book’s code from scratch to handle all the changes introduced by Xcode 6.1. This fixes issues throughout the book, such as how NSURL.URLWithString() has now become the initializer NSURL. Xcode 6.1 also changes the Swift language itself by introducing “failable initializers,” which allows some initializers to return optionals, meaning they might send back nil, and we have to be prepared for that. We introduce failable initializers in Chapter 3 and use them throughout the book when Apple’s APIs return them to us.

The rebuild of all the projects also allowed us to fix issues caused by last-minute changes to Xcode and the iOS SDK that we missed before, like how autolayout now has horizontal margins that we can pin our edges to. Also, by recreating all our projects in the exact order that you’ll encounter them while reading the book, the sample code will be a much more accurate place to turn to if you’re working through the book’s code manually.

17 October 2014 B2.0

This beta adds a new chapter, “Launching, Backgrounding, and Extensions,” which illustrates how our app interacts with the rest of the system; how it can be sent to the background and come back to the foreground; and how other apps can launch it with a URL–which includes the ability to send us information to act on. iOS 8 also lets us create App Extensions, exposing some of our functionality to other apps without our app necessarily running. We’ll use our Twitter skills to create a custom keyboard extension that lets us type the names of our Twitter friends with just a tap on a table row.

This beta also fixes nearly a hundred errata filed by readers since the book’s first beta release; keep ’em coming!

15 September 2014 B1.0

Initial beta release.

×