iOS 9 App Development Essentials First Edition
2015 Neil Smyth/eBookFrenzy. All Rights Reserved.
This book is provided for personal use only. Unauthorized use, reproduction and/or distribution strictly prohibited. All rights reserved.
The content of this book is provided for informational purposes only. Neither the publisher nor the author offers any warranties or representation, express or implied, with regard to the accuracy of information contained in this book, nor do they accept any liability for any loss or damage arising from any errors or omissions.
This book contains trademarked terms that are used solely for editorial purposes and to the benefit of the respective trademark owner. The terms used within this book are not intended as infringement of any trademarks.
Rev: 1.0
Table of Contents
1. Start Here
The goal of this book is to teach the skills necessary to create iOS applications using the iOS 9 SDK, Xcode 7 and the Swift 2 programming language.
How you make use of this book will depend to a large extent on whether you are new to iOS development, or have worked with iOS 8 and need to get up to speed on the features of iOS 9 and the latest version of the Swift programming language. Rest assured, however, that the book is intended to address both category of reader.
1.1 For New iOS Developers
If you are entirely new to iOS development then the entire contents of the book will be relevant to you.
Beginning with the basics, this book provides an outline of the steps necessary to set up an iOS development environment. An introduction to the architecture of iOS 9 and programming in Swift is provided, followed by an in-depth look at the design of iOS applications and user interfaces. More advanced topics such as file handling, database management, in-app purchases, graphics drawing and animation are also covered, as are touch screen handling, gesture recognition, multitasking, iAds integration, location management, local notifications, camera access and video and audio playback support. Other features are also covered including Auto Layout, Twitter and Facebook integration, App Store hosted in-app purchase content, Sprite Kit-based game development, local map search and user interface animation using UIKit dynamics.
Additional features of iOS development using Xcode 7 are also covered, including Swift playgrounds, universal user interface design using size classes, app extensions, Interface Builder Live Views, embedded frameworks, CloudKit data storage and TouchID authentication.
The key new features of iOS 9 and Xcode 7 are also covered in detail, including new error handling in Swift 2, designing Stack View based user interfaces, multiple storyboard support, iPad multitasking, map flyover support, 3D Touch and Picture-in-Picture media playback.
The aim of this book, therefore, is to teach you the skills necessary to build your own apps for iOS 9. Assuming you are ready to download the iOS 9 SDK and Xcode 7, have an Intel-based Mac and ideas for some apps to develop, you are ready to get started.
1.2 For iOS 8 Developers
If you have already read the iOS 8 edition of this book, or have experience with the iOS 8 SDK then you might prefer to go directly to the new chapters in this iOS 9 edition of the book.
All chapters have been updated to reflect the changes and features introduced as part of iOS 9, Swift 2 and Xcode 7. Chapters included in this edition that were not contained in the previous edition, or have been significantly rewritten for iOS 9 and Xcode 7 are as follows:
In addition the following changes have also been made:
All chapters have been updated where necessary to reflect the changes made to Xcode 7.
All chapters and examples have been rewritten where necessary to use Swift 2 syntax.
The Multitouch handling chapters have been updated to cover the new predictive touches and touch coalescing features of iOS 9.
Map handling topics covered in the book now include steps to obtain Transit ETA Information.
The SpriteKit chapters have been updated to use the new Xcode 7 Live Animation and Action Editors.
The Index has been improved with more than double the number of entries.
1.3 Source Code Download
The source code and Xcode project files for the examples contained in this book are available for download at:
http://www.ebookfrenzy.com/retail/ios9/
1.4 Learn to Develop watchOS Apps
If you are planning to develop WatchKit apps for the Apple Watch we would like to recommend watchOS 2 App Development Essentials.
This is the companion book to iOS 9 App Development Essentials and is available for purchase now in both print and eBook formats:
http://www.ebookfrenzy.com/ebookpages/watchos2_ebook.html
1.5 Feedback
We want you to be satisfied with your purchase of this book. If you find any errors in the book, or have any comments, questions or concerns please contact us at .
1.6 Errata
Whilst we make every effort to ensure the accuracy of the content of this book, it is inevitable that a book covering a subject area of this size and complexity may include some errors and oversights. Any known issues with the book will be outlined, together with solutions at the following URL:
http://www.ebookfrenzy.com/errata/ios9.html
In the event that you find an error not listed in the errata, please let us know by emailing our technical support team at .
2. Joining the Apple Developer Program
The first step in the process of learning to develop iOS 9 based applications involves gaining an understanding of the advantages of enrolling in the Apple Developer Program and deciding the point at which it makes sense to pay to join. With these goals in mind, this chapter will outline the costs and benefits of joining the developer program and, finally, walk through the steps involved in enrolling.
2.1 Downloading Xcode 7 and the iOS 9 SDK
The latest versions of both the iOS SDK and Xcode can be downloaded free of charge from the Mac App Store. Since the tools are free, this raises the question of whether to enroll in the Apple Developer Program, or to wait until it becomes necessary later in your app development learning curve.
2.2 Apple Developer Program
Membership in the Apple Developer Program currently costs $99 per year to enroll as an individual developer. Organization level membership is also available.
Prior to the introduction of iOS 9 and Xcode 7, one of the key advantages of the developer program was that it permitted the creation of certificates and provisioning profiles to test your applications on physical iOS devices. Fortunately this is no longer the case and all that is now required to test apps on physical iOS devices is an Apple ID.
Clearly much can be achieved without the need to pay to join the Apple Developer program. There are, however, areas of app development which cannot be fully tested without program membership. Of particular significance is the fact that iCloud access, Apple Pay, Game Center and In-App Purchasing can only be enabled and tested with Apple Developer Program membership.
Of further significance is the fact that Apple Developer Program members have access to technical support from Apples iOS support engineers (though the annual fee initially covers the submission of only two support incident reports more can be purchased) and membership of the Apple Developer forums which can be an invaluable resource for obtaining assistance and guidance from other iOS developers and for finding solutions to problems that others have encountered and subsequently resolved.
Next page