Beginning iOS 17 Programming with Swift

Ready for Swift 5.9, iOS 17 and Xcode 15
Learn how to code in Swift and build a real world app from scratch using both SwiftUI and UIKit. ARKit and Core ML are also covered in this course, plus we include 1 Year Free Update.

You've got an app idea but
don't know how to get started?

If you want to create an app but don't know where to begin, this course covers the whole aspect of iOS app development using the new Swift programming language and shows you every step from an idea to building a real app on App Store. Unlike traditional programming books that focus solely on theory, we believe that programming should be an enjoyable and hands-on experience. That's why our course emphasizes practical learning. From the very beginning, you'll dive into building an app, gaining valuable skills along the way. This unique approach has received praise from tens of thousands of our readers.

Delivered through comprehensive ebooks, our course includes a multitude of engaging exercises and projects designed to help you master coding and create iOS apps.

No prior programming experience? No problem. Our course is designed for beginners, assuming little to no prior knowledge. You'll start by creating a simple app and familiarizing yourself with the fundamentals of the Swift programming language. From there, you'll progress to prototyping your app idea. Each exercise builds upon the previous one, adding new features and functionalities, until you've developed a fully-fledged app. Throughout this journey, you'll become proficient in Swift programming and iOS app development. Most importantly, by the end of the course, you'll have a polished app ready for submission to the App Store.

Build a Real App
Learn Swift Programming, UIKit, SwiftUI, and iOS 17 App Development by building a real world app that is ready for releasing on App Store. No programming experience is needed.
45 Xcode Projects
Once you manage the basics, you will work on more than 45 demo projects to help you become a professional iOS developer.
Community Support
You'll not learn alone. You can always ask us questions through email and interact with other students in our private Facebook group while reading the eBooks.

Join Over 24,000 people to learn with us

Not everyone can become a professional developer, but we firmly believe that anyone can learn Swift and build their own app, even without prior programming experience. Our course has been tried and tested by over 24,000 readers from various backgrounds. Many of our students have been able to release their own apps or become job-ready developers after completing the course. Whether you're a programmer looking to learn a new language, a designer aiming to transform your designs into iOS apps, or an entrepreneur interested in coding, this course is designed for you.

We understand that app development involves more than just coding. Our course covers not only Swift and iOS development but also teaches you how to visualize your app idea before actually building it. You'll also learn about conducting beta tests and the step-by-step process of uploading your app to the App Store. We take a comprehensive approach to app development, equipping you with the necessary skills to navigate the entire process successfully.

The lessons are well laid out, each one being just the right length to avoid overload – there is a great deal of information supplied in this course! Each line of code is given a clear explanation, so even the most complex topics make perfect sense. I would highly recommend this book as an excellent introduction to creating your first app and beyond; it also includes chapters on how to upload it to Apple for testing and publication.
Stephen Donnelly
Director at Rascalbiscuit
This is the best book to learn how to develop an iOS app and be up and running in no time! For a beginner, Xcode is intimidating at first. But the instructions and the screenshots are so clear and easy to follow that in the end everything is easy to do. The two books covers a lot of stuff. I also love how quickly the books are updated as soon as a new iOS version gets released. Not only the code is updated for the new version of Swift, but there's also additional chapters for the new iOS features. Highly recommended!
Alain Rivest
iOS Developer of GoodJunk
The Beginning iOS Programming with Swift textbook is extremely easy to follow and really helps set the framework for developing apps for your own needs.
Mark Mueller, M.S.
Ph.D. Student, Statistical Consultant

What's included

SwiftUI & UIKit eBooks for Beginners [Basic/Starter/Pro]
Can't decide which UI framework to start with? All packages comes with two ebooks that cover both SwiftUI and UIKit framework. Both books are beautifully designed with tons of screenshots and illustrations to help you learn Swift 5.9 (or up) and iOS 17 programming. One book teaches you how to build great UIs using the UIKit framework. The other one shows you how to build the same UI but with SwiftUI. The books are available in PDF, ePub, Mobi, and HTML formats so you can read it on your favorite device.
Full Source Code and Xcode Projects [Basic/Starter/Pro]
Full source and Xcode projects are included for you to download. This includes a real app that is ready for release. You're free to modify the source code and reuse it in your projects. This is the real deal. If you opt for the starter/pro package, you will get 45 demo Xcode projects that show you how to work with advanced topics like Firebase, ARKit, and Core ML.
1 Year Free Update [Basic/Starter/Pro]
All content and source code are up-to-date. The book and the sample apps are fully updated to support Xcode 15, Swift 5.9 (or up) and iOS 17. However, we understand Swift and iOS keep evolving. Whenever a new version of Swift is released, we will review and update our course materials. You are free to access all the updated materials during the first year of purchase.
Ebook for Intermediate iOS Developers [Starter/Pro]
The intermediate book, with over 950 pages, will take your iOS development skills to the next level. It uses a problem-solution approach to discuss the APIs and frameworks of iOS SDK. You'll learn how to work with videos, Google Ad, Firebase, JSON, XML, audio, Touch ID, user authentication, ARKit, Core ML, and many more. Once you purchased the package, you will receive the book as a free update at that time.
App Screenshot Design Guide + Design Resource Sheet [Pro]
Your app screenshot is the face of your app. How can you make it look great to attract more downloads? The App Screenshot Design Guide teaches you how to create awesome screenshots using free design resources and tools.
4 App Project Templates [Pro]
You will get the full source code of 4 extra apps. One is the RSS app that lets you easily create a RSS reader app. The second one is a subscription app that keeps track of your subscription spending. The other is a photo client app for Unsplash. You will learn how to work with web APIs, retrieve remote images and display them asynchronously. The last project is a generic CMS app that retrieves remote content from CMS backend (e.g. AirTable). These Xcode projects would save you at least US$20,000 from hiring developers to build them. You're given the right to modify the source code and use them in your own personal and commercial projects.

What people say about us

"This book got me an internship and a job. After one week of following this book’s tutorial, I was immediately able to begin developing my own app! 4 months later, I got an offer at Ancestry to intern as an iOS developer. Best money I ever spent!!"
iOS developer at Ancestry
"I have published 8Cafe and 8Books, apps based on, and inspired by, the AppCoda Swift iOS book; it was a pleasure to learn and develop with your team. In fact, a lot of my apps/games utilise ideas and techniques from your excellent Beginner and Intermediate Swift books. To me, and a lot of developers, your talent, knowledge, expertise and willingness to share have been simply a godsend."
Mazen Kilani
Creator of 8Cafe
"You do such a great job explaining things! Your competitors don’t even come close to you explaining iOS application development the way you do. You’re AWESOME!"
Matt Kell
President of Alexus Group
"I have tried video after video with no success. I bought this book and played with the code. I am now absorbing what I learned and am in the process of creating an app that I will put on the app store. This was my breakthrough."
Don Bradbury
Database Developer
"Insightful, helpful, and motivational. The books are full of knowledge and depth of the subject, providing hints and tips on many aspects of iOS development, and encourages the student/reader to push forward and to not be afraid of seeking deeper understanding of the concepts. Just awesome."
Moin Ahmad
iOS Developer & Creator of Guess Animals App
"For years, I'd been looking in vain for good quality resources to help sharpen my app development skills. Your books saved my life. They're the best explained programming books I've ever read in my 10 years of programming. They're so easy to understand and they hit everything. I will never thank you enough for writing the books and I owe you a lot."
Eric Mwangi
"It is the first book that kept me interested from the start to the end. I am an experienced developer in another language and this book was exactly what was needed. It showed the idea behind iOS user interface and step by step it was taking you deeper. I strongly advice it for developer who have some background with developing in another environment and wants to learn swift."
"Your books beat classroom training! The flow, the videos, the content, everything just makes it damn easy to learn and get started with iOS programming. Also, really appreciate the updates you keep doing, this is more of a living book rather a hard printed book frozen in time. Just awesome - you are giving an opportunity to several wannabes who would not have been! Keep going and all the best!"
Asif Khan
"I've tried to get over the hump of learning how to program for years, with many stops and starts with different books and even a Big Nerd Ranch class in CA. But my biggest and most steady progress has been using this course material. I'm not sure why it's clicking now more than before, but the way the course is structured just makes sense to me. And what I really love is it's project based learning approach. You actually make things as you learn, and by doing so you start to get those "ah ha" moments. There's nothing more exciting than figuring something out that at first you just couldn't get your head around."
Thomas Tomchak, Cre8ting, LL
"Over the past three years I have purchased more than a dozen books on Objective C and Swift. As a high school AP computer science teacher I work mainly with Java but I also teach several other programming languages so I tend to keep a large library of books on-hand. While many of the other books and online video tutorials I purchased these past years were very good, I found AppCoda's to be far above all others. Simon has a way of presenting a topic in such a manner where I felt he was teaching me in a classroom environment rather than just me reading words on a screen."
Ricky Martin, Gulf Coast High School

Building a Real World App with SwiftUI and UIKit

You will learn how to build a restaurant app from the ground up in Swift using both SwiftUI and UIKit. Starting by creating an app prototype, we will add one feature at a time and you will have a real app after going through the course. SwiftUI and UIKit are the two essential UI frameworks for building iOS apps. Our course covers both and you can compare side by side how the same feature is implemented on these frameworks.
Adaptive UIs & Dark Mode
Learn to use UIKit/SwiftUI to build adaptive UIs for both iPhone and iPad. You'll learn auto layout for UIKit and different view components for SwiftUI to create complex user interface. Of course, you'll learn how to design for the brand-new iPhone 15, 15 Pro, and 15 Pro Max. On top of that, you'll build an app that supports both Light and Dark mode.
Stack View & Dynamic Type
Understand stack views, learn how to use it to lay out user interfaces and adapt stack views using size classes. You'll also work with Dynamic Type that lets users adjust the font size of the app.

Take a Deeper Look at the App you're going to build and what you'll learn

List views, Tab Bar and Navigation Controllers
Learn to use and customize table/list views for presenting data. Structuring UI navigation with tab bar and navigation controllers. Implement large title navigation bar.
Building tutorial screens
Learn how to design and build tutorial/walkthrough screens for first-time users
Working with Maps, Haptic Touch and User Notifications
Understand how to use the MapKit framework to display a map and add annotations. Learn to implement Haptic Touch to give users quick access to certain functions. Adopt local notifications to increase app engagement.
Implementing Search
Learn how to integrate a search bar in iOS apps and implement the search feature
Animations and Visual Effects
Learn to animate view objects and apply blur effects using the built-in APIs
Core Data & CloudKit
Learn how to manage data using the built-in database via Core Data. Using the CloudKit framework to store and retrieve data to/from iCloud.
Accessing Photo Library and Camera
Load photos from the photo album and create a camera feature for users to capture photos.
Supporting multiple languages
Learn how to localize an app into multiple languages to reach more users globally
Embedding web content
Integrate web browsing in an app by using WKWebView and SFSafariViewController

Learn Xcode & Swift

The course covers everything you need to build an iOS app including Xcode 15, Swift 5.9 (or up) and the iOS 17 SDK.
Build and Design with Xcode 15
Learn how to design app UIs with Interface Builder, work with multiple storyboards, create UI programmatically with SwiftUI, handle local & remote images, debugging, arrange beta test with TestFlight and many more.
Code in Swift 5.9
Swift is the preferred programming language for iOS. It is easier to learn and more approachable to beginners. Most importantly, it is an increasingly in demand skill. You'll learn to develop apps in Swift 5.9, understand its syntax, work with optionals and extensions, etc.
Develop using the iOS 17 SDK
Of course you'll learn all the common APIs provided by the iOS SDK including CloudKit and Core Data for managing data in database.

"Thanks for making such an awesome book! This book helped me develop my first real app and have made $200 on the app store in less than 2 months since launch. I was also able to get a software developer job where now I am running the Mobile department. Thanks again for the great book, I always try to promote it when people ask me about learning how to code."

- Rody Davis, Developer of The Pitch Pipe

Want to take your skills to the next level?

Our course (Starter and Pro packages) will get you covered. You'll learn to master more iOS APIs and third party libraries by working on over 40 app projects. Here is just some examples.

"I decided to purchase the AppCoda Swift books and in less than a month I had my first app published to the App Store, which is now generating a nice revenue stream for me every month."

- David Gagne, App Developer of Jacket Industries, LLC

Want to take your app development skills even further and become a Pro?

The Pro package provides extra resources for you to build better apps and even help you start your freelance business.
Mastering SwiftUI
Dive deep into SwiftUI, Apple's new UI framework, with our brand new book. Learn to develop fluid UI in declarative syntax. You will work with various UI elements including Context Menu, List, ScrollView, etc, and learn how to create complex layouts with Stacks. Once you manage the basics, you will learn how to build a personal finance app with SwiftUI and Combine. Check this out to learn more about Mastering SwiftUI.
RSS App Template (UIKit)
This Xcode project template helps you build a Blog or RSS Reader app quickly and easily. To build a similar app like this, it will cost you over $5000. It is particularly great for those who plan to build apps for their clients. With the full source code included, it will save you 100+ hours from building the app from scratch and money from hiring an app designer. This app is developed using UIKit.
Subscription App Template (UIKit)
Designed for those who want to keep tracking of the subscription spending, this app project is intended to help you save time from building a similar app like this. Even if you do not need a subscription app, you can learn how to implement calendar and apply MVVM by reading the source code. This app is developed using UIKit.
Photo App Template (SwiftUI)
Developed using the free Unsplash APIs and SwiftUI, this photo app demonstrates how to work with web APIs and JSON data. You will also learn from the source code to creat an animated tab bar and load remote images asynchronously.
CMS App Template (SwiftUI)
If you are building a CMS client app that connects to a CMS backend, this app template is designed for you. This CMS app retrieves remote articles from CMS backend (i.e. AirTable). You will learn how to work with AirTable’s APIs and load the content remotely. The articles are stored in Markdown format. So, you will also learn how to convert Markdown to HTML and display it in a web view beautifully.
Design beautiful app screenshots
One of the requirements when publishing an app to App Store is to provide the app screenshots. You can simply capture the screenshots, but wouldn't it be great if you can make it look awesome? It'll definitely attract more app downloads? The iOS App Screenshot Design guide will show you how do that using free design resources and tools.
I tried multiple learning sources including the Stanford training. Although I already did learn some topics like auto layout, delegates, segues, etc through other sources, your book was the first one that really made me understand them!
Nico van der Linden, SAP developer at Expertum

Ready to Get Started?

Save up to 20% off the regular price.
This special sale ends on 30 Jun 2024 (23:59 PST).
$ 49 Regular
  • Beginning iOS Programing with Swift and SwiftUI eBook (PDF/ePub/Mobi)
  • Beginning iOS Programing with Swift and UIKit eBook (PDF/ePub/Mobi)
  • Full source code included
  • 1 year Free Update
  • Access to our private Facebook group
$ 79 Regular
Everything included in the Basic package, plus the following.
  • Beginning iOS Programing with Swift and UIKit eBook (HTML)
  • Beginning iOS Programing with Swift and SwiftUI eBook (HTML)
  • Intermediate iOS Programming with Swift eBook (PDF/ePub/Mobi/HTML)
  • Over 40 additional Xcode projects with full source code
  • App Design Resources Sheet for Developers (PDF)
  • A Sketch App Template
$ 199 Regular
Everything included in the Starter package, plus the following, to help you become a professional iOS developer.
  • Full source code of the RSS app included
  • Full source code of the Subscription app
  • Full source code of the Photo app
  • Full source code of the CMS app
  • Mastering SwiftUI ebook
  • iOS Screenshot Design Guide for Developers (PDF)
  • Priority email support

Your questions answered.

Which package should I buy?
This depends on your budget and plan. Obviously, the Pro package is the most comprehensive including everything you need to become a competent iOS developer. It will help you learn both UIKit and SwiftUI frameworks. It includes the books, code templates, app UI design resource guide, and the full source code of the demo projects. However, if you are a beginner with a limited budget, the basic package will kick start your app development journey. You won't regret it. If you just want to learn SwiftUI and budget is a concern, you may consider the basic package of our Mastering SwiftUI course.
Can I pay via PayPal?
Absolutely! After clicking the Buy button, simply select Paypal to proceed with the payment. Alternatively, you can just send the payment in USD to [email protected]. You'll receive a download link of the package within 24 hours. Or simply email us at [email protected] and tell us which package you want to buy.
What version of Xcode and iOS do you support?
All the content and source code of the books are designed for Xcode 15, Swift 5.9 (or up) and iOS 17. Except the Intermediate Programming book, all the Swift & SwiftUI books have been updated for Xcode 15 and iOS 17. The intermediate books will be updated later this year and released by Jan 2024. As Apple is going to provide maintenance release for Xcode 15 and iOS 17, we will continue to update the books and release them as free updates for eligible customers. On top of that, you'll get the book update for the next iOS version (i.e. iOS 18) for free. Book update will be delivered via email.
Can I reuse the source code?
Absolutely! You are allowed to reuse the source code in your own projects. However, you're not allowed to distribute or sell the source code without prior authorization.
Do I need to join the Apple Developer Program?
Unless you want to publish an app on App Store and use features like CloudKit, it is not mandatory. Most of the content do not require you to join the Apple Developer program. You can build and test the app using Xcode's built-in simulator.
What if I hate the book?
Okay. In case you really hate the book, just reply to your purchase receipt email within 30 days and we will issue a refund.
Do you offer team license?
Yes! We offer team licence for the book. If you want to purchase the book in bulk and share with your team/students, you can purchase the team licence for $499. This allows you to share with up to 20 members. There isn't any DRM involved, just trust.
Will I get free update?
Yes! The update applies to all packages. Once you purchase the book, you will get free updates for 1 year. Swift and iOS SDK are still evolving. Every time Apple releases a new version of Swift, we will ensure that the book supports the latest version of Swift and Xcode.
Should I learn SwiftUI or UIKit?
My short answer is to learn both, especially you want to become a professional iOS developer and look for a job. We know SwiftUI is hot and we really love it. That said, if your goal is to become a professional developer, you can't ignore UIKit because most of the apps on the App Store are built using the framework. It is an essential skill if you want to get hired as an iOS developer. This is why we still teach you how to build apps using UIKit.
Does this course cover both SwiftUI and UIKit?
If you purchase the professional package, it comes with all the neccessary materials to teach you both frameworks. For the basic and starter package, the materials will still focus on UIKit. If you just want to learn SwiftUI, you may consider the basic package of our Mastering SwiftUI course.
How can I get the book updates?
Whenever we update the learning materials, we will send you an email notification with the download instructions.
Still have questions?
No problem! Just send your question to [email protected]. We will do our best to answer them.