Preface

When Apple launched Swift in 2014, the iOS ecosystem became more accessible than it has ever been for developers. Being able to write apps with Swift's beautiful, readable, and straightforward syntax instead of having to write clunky Objective-C code enabled a lot of people to play around with iOS development. For me, Swift sparked a renewed interest in developing iOS application, and this new passion has remained ever since.

This book hopefully transfers some of that passion to you. I've written this book to match my own preferred way of learning, which is by doing. In this book, you’ll find examples of applications that you might really build one day, and the problems we tackle are real and practical. We won't cover every single framework that you can use to build apps, there’s simply too much to cover. Instead, the focus is on learning how to navigate Apple's documentation, finding patterns, and solving real problems.

If you've worked with iOS before but never really got around to building an app, or if you're looking to expand your knowledge with more iOS 10-specific topics, this book is perfect for you. We'll go beyond the basics and you'll learn everything you need to know in order to build high-quality applications.

What this book covers

Chapter 1, UITableView Touch Up, is all about table views. Most iOS developers will already have seen a table view in their attempts at learning iOS. This chapter is intended as a warm-up for what’s to come, and it covers some of the new features in table views that were introduced in iOS 10.

Chapter 2, A Better Layout with UICollectionView, explains that the table view's super-powered sibling is the collection view. This chapter will cover implementing a collection view and writing a custom layout object for it.

Chapter 3, Creating a Contact Detail Page, reveals that if you're building apps, you'll need to make them work on many different screen sizes. This chapter will show you how to use Auto Layout in order to create beautiful, adaptive layouts.

Chapter 4 , Immersing Your Users with Animation, explains that the best apps set themselves apart with beautiful and subtle animations. You’ll learn multiple animation techniques, and to top it off, you’ll learn how to create custom transitions between view controllers.

Chapter 5, Improving Your Code with Value Types , explains the difference between reference and value types. You’ll learn why it’s a good idea to use value types as much as possible.

Chapter 6, Avoiding Complex Inheritance with Protocols, once you've learned about value types, their possibilities and their limitations; it's only logical to learn about protocol oriented programming. This style of programming was introduced by Apple and serves as a way to avoid complex inheritance hierarchies and to make code clearer and more testable.

Chapter 7, Refactoring the HelloContacts Application, applies the lessons learned from the previous two chapters to improve an app you’ve already worked on.

Chapter 8, Adding Core Data to Your App, shows that many apps to store data in a database. This chapter introduces Apple’s CoreData framework as a way to include a database for user data in your app.

Chapter 9, Storing and Querying Data in Core Data, shows you how to store data in the database you set up in the previous chapter. We’ll also cover querying this data using fetch requests and predicates.

Chapter 10, Fetching and Displaying Data from the Network, explains to make use of web APIs to fetch and display data.

Chapter 11, Being Proactive with Background Fetch, shows you that iOS allows apps to refresh and load data in the background. This chapter covers how to do this and briefly introduces you to dispatch groups.

Chapter 12, Enriching Apps with the Camera, Motion and Location, explains how to build a login screen for an art app that uses several sensors in the iPhone to create a more immersive experience.

Chapter 13, Displaying Contents of your App in Spotlight, shows how you can make iOS index your app's contents to make it available through the powerful Spotlight search index.

Chapter 14, Making the Web and your App Meet through Universal Links, demonstrates how to set up universal links so iOS knows when to direct the user to your app instead of the browser.

Chapter 15, Instant Information with a Notification Center Widget, explains that developers can add widgets to the Notification Center to disclose quick information to users. This chapter will teach you how.

Chapter 16, Implementing Rich Notifications, shows how to make use of the new notification features and extensions that were introduced with iOS 10.

Chapter 17, Extending iMessage, explains that whether you want to build a sticker app for iMessage or something more complex, this chapter will show you how to do it.

Chapter 18, Integrating Your App with Siri, covers the newly introduced Siri APIs, and you’ll see how they can be implemented in your own apps.

Chapter 19, Ensuring App Quality with Tests, explains that testing an often overlooked aspect of developing an app. This chapter will teach you how to set up tests for your application.

Chapter 20, Discovering Bottlenecks with Instruments, explains shows how to profile your app's performance with Instruments.

Chapter 21, Offloading Tasks with Operations and GCD, apps perform increasingly complex tasks. This chapter teaches you how to make sure that complex or slow tasks don’t freeze your user interface.

Chapter 22, Wrapping Up the Development Cycle and Submitting to the App Store, shows how to distribute your app to beta testers through TestFlight and how to submit your app for review in order to publish it to the App Store.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.166.98