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:
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.
Production is complete. Now it’s on to layout and the printer.
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.
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.
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!
Initial beta release.