iOS 8 App Development Essentials Errata

The Second Edition of iOS 8 App Development Essentials was published on April 15, 2015. The current revision is 2.0. The revision of your copy of the book can be found in the copyright page at the start of the book.

Support for Xcode 6.3 and Swift 1.2

The First Editon of iOS 8 App Development Essentials was based on Xcode 6.2 and Swift 1.1. Apple recently released Xcode 6.3 and Swift 1.2. If you are using Xcode 6.3 with the First Edition of the book a number of the code examples will cause syntax errors due to the changes introduced with Swift 1.2.

If you are using Xcode 6.3 and Swift 1.1 but have the First Edition of iOS 8 App Development Essentials, please take the following steps:

1. The Second Edition of iOS 8 App Development Essentials has been fully updated for Swift 1.2 and Xcode 6.3. Email us at [email protected] with proof of purchase and we will provide you with a copy of the Second Edition in eBook format at no additional cost.

2. Download the version of the sample code which has been updated for Swift 1.2. This can be downloaded using the following link and used as a reference to the changes in the examples for Swift 1.2:

http://www.ebookfrenzy.com/code/iOS8BookSamples_SE.zip

Known issues with revision 1.0

Chapter 56. Subclassing and Extending the iOS 8 Collection View Flow Layout

Due to recent changes in the Swift compiler and SDK, it is now necessary to declare references to self.collectionView as being optional. The following lines of code in this chapter should now read as follows with the self.collectionView references postfixed with a '?':
    self.collectionView?.setCollectionViewLayout(myLayout,
                        animated: true)

    self.collectionView?.addGestureRecognizer(pinchRecognizer)

    let layout = self.collectionView?.collectionViewLayout
                        as MyFlowLayout

        let pinchedCellPath =
         self.collectionView?.indexPathForItemAtPoint(initialPinchPoint)

        self.collectionView?.performBatchUpdates({
            layout.currentCellPath = nil
            layout.currentCellScale = 1.0}, completion:nil)

Known issues with revision 1.0a

47.7 Implementing the didFinishLaunchingWithOptions Method

The code added to the didFinishLaunchingWithOptions method in this section should read as follows:
        if let options: NSDictionary = launchOptions {
            let remoteNotification = options.objectForKey(
                UIApplicationLaunchOptionsRemoteNotificationKey) as?
            NSDictionary


            if let notification = remoteNotification {
                self.application(application,
                    didReceiveRemoteNotification: notification)
            }
        }

Known issues with revision 1.0b

30.5 Configuring Master View Items

The following line of code generates a syntax error which reads "UILabel? does not have a member named text":
	cell.textLabel.text = siteNames![indexPath.row]
To resolve this issue the textLabel optional should be implicitly unwrapped as follows:
	cell.textLabel!.text = siteNames![indexPath.row]

93. An iOS 8 Twitter Integration Tutorial using SLRequest

The following lines of code generate syntax errors which reads "UILabel? does not have a member named text" and "UILabel? does not have a member named numberOfLines":
    cell.textLabel.text = tweet.objectForKey("text") as NSString
    cell.textLabel.numberOfLines = 0
To resolve these issues the textLabel optional should be implicitly unwrapped as follows:
    cell.textLabel!.text = tweet.objectForKey("text") as NSString
    cell.textLabel!.numberOfLines = 0

If you have encountered an error in this book that is not listed above, please let us know by contacting our support team at [email protected].





Featured Titles


$32.99$32.99$32.99$19.99
Tell me more... Tell me more... Tell me more... Tell me more...

$32.99$19.99$9.99$19.99
Tell me more... Tell me more... Tell me more... Tell me more...