Copyright ©2024 by AppCoda Limited

All right reserved. No part of this book may be used or reproduced, stored or transmitted in any manner whatsoever without written permission from the publisher.

Published by AppCoda Limited

All trademarks and registered trademarks appearing in this book are the property of their own respective owners.

Update History

Release Date Description
21 Jan, 2018 Updated all chapters of the book for Swift 4 and Xcode 9.
20 Mar, 2018 Added two new chapters for ARKit
16 Apr, 2018 Added a new chapter for Core ML
25 Sep, 2018 Updated for iOS 12 and Swift 4
31 Jan, 2020 Updated for iOS 13 and Swift 5.1
4 Feb, 2020 Updated for iOS 14 and Swift 5.3
28 Feb, 2022 Updated for iOS 15 and Swift 5.5
28 Jan, 2023 Updated for iOS 16 and Swift 5.7
22 Jan, 2024 Updated for iOS 17 and Swift 5.9


At the time of writing, the Swift programming language has been in existence for over ten years. This relatively new language has gained significant traction, constantly evolving, and has become the de facto programming language for iOS development. If you are considering learning a programming language this year, Swift should undoubtedly be at the top of your list.

Personally, I love reading cookbooks. The majority of them are visually appealing, featuring beautiful and appetizing photos. Additionally, they provide clear and easy-to-follow instructions for preparing a dish. It's this combination that captivates me and ignites my desire to try out the recipes myself. When I began writing this book, the initial question that arose in my mind was, "Why are so many programming books poorly designed?" Considering that iOS and its apps are renowned for their exceptional aesthetics and attention to detail, it is perplexing why the majority of technical books resemble ordinary textbooks.

I strongly believe that a visually stunning book can significantly enhance the effectiveness and ease of learning programming. With this in mind, I embarked on creating a book that not only looks aesthetically pleasing but is also enjoyable to read. However, it is important to note that my focus extends beyond visual elements alone. The content of this book encompasses valuable tips and solutions, which will enable you to delve deeper into iOS programming.

The book adopts a problem-solution approach to delve into the APIs and frameworks of the iOS SDK. Each chapter guides you through one or two features, providing comprehensive code samples for a thorough understanding. By following along, you will gain proficiency in various aspects of iOS development.

The topics covered include building a universal app with adaptive UI, training machine learning models, interacting with virtual objects through ARKit, implementing Touch ID for user authentication, creating a widget in the notification center, and implementing view controller animations, among others. These are just a few examples of the wide range of concepts and skills you will acquire throughout the book.

I recommend starting your reading journey from Chapter 1 of the book, but please note that this is merely a suggestion and not a strict requirement. Each chapter is designed to be self-contained, allowing you to treat the book as a reference as well. You are free to choose any chapter that catches your interest and delve into its content. Feel free to explore the topics that intrigue you the most and navigate through the book at your own pace.

Who Is This Book for?

This book is specifically intended for developers who possess some experience in the Swift programming language and have an interest in iOS app development. It is not designed as a beginner's guide. If you already have some familiarity with Swift, this book will provide significant value and benefits to your learning journey.

If you are a beginner and want to learn more about Swift, you can check out our beginner book at

What version of Xcode do you need?

All chapters in this book have been updated for iOS 17, Xcode 15, and Swift 5.9. It is essential to use Xcode 15 (or later versions) when working on the projects outlined in this book.

Where to Download the Source Code?

In each chapter of the book, we will work together to build a demo app, allowing you to gain hands-on experience with the APIs and frameworks discussed. At the end of each chapter, you will find download links for the final projects, which serve as a reference for you. You are welcome to use the provided source code and integrate it into your own projects, whether they are personal or commercial in nature.

However, please note that the source code may not be reused in tutorials or textbooks, whether in print or digital format. The usage restrictions do not apply to educational purposes, but in such cases, proper attribution is required.

Do You Need to Join the Paid Apple Developer Program?

You can go through most of the projects using the built-in simulator. However, some chapters such as Touch ID and QR code scanning require you to run the app on a real device. The good news is that everyone can run and test their own app on a device for free, starting from Xcode 7. Even if you do not join the paid Apple Developer Program, you can deploy and run the app on your iPhone. All you need to do is sign in Xcode with your Apple ID, and you're ready to test your app on a real iOS device.

Swift is still evolving. Will you update the source code when Xcode 15.x releases?

Swift is indeed ready for production, but it is true that Apple continues to make changes to the language. Whenever a new version of Xcode 15 is released, such as Xcode 15.x, I will thoroughly test all the source code provided in this book to ensure compatibility. You can always access the latest version of the source code by using the download link provided in each chapter.

To stay updated on any announcements and updates, you are welcome to join us on Facebook at or follow us on Twitter at We regularly share important information and updates through these platforms.

Got Questions?

If you have any questions about the book or find any error with the source code, post it on our private community ( or reach me at [email protected].

To continue reading and access the full version of the book, please get the full copy here. You will also be able to access the full source code of the project.

results matching ""

    No results matching ""