If you’re completely new to Swift and iOS development (or need a brush-up), this is the series for you.
The UIKit Apprentice is a series of epic-length tutorials for beginners where you’ll learn how to build four complete apps from scratch.
Each new app will be a little more advanced than the one before, and together they cover everything you need to know to make your own apps. By the end of the series you’ll be experienced enough to turn your ideas into real apps that you can sell on the App Store.
These tutorials have easy to follow step-by-step instructions, and consist of more than 1,100 pages and 500 illustrations! You also get full source code, image files, and other resources you can re-use for your own projects.
If you’re new to iOS and Swift, or to programming in general, learning how to write an app can seem incredibly overwhelming.
That’s why you need a guide that:
Shows you how to write an app step-by-step
With tons of illustrations and screenshots to make everything clear
In a fun and easygoing manner!
We’ll start at the very beginning. The first tutorial assumes absolutely zero programming knowledge but still shows you how to build an entire game from scratch.
The UIKit Apprentice series doesn’t cover every single feature of iOS – it just focuses on the absolutely essential ones that you need to know.
Instead of just covering a list of features, the UIKit Apprentice series does something much more important: it explains how all the different building blocks fit together and what is involved in building real apps.
You’re not going to create quick example programs that demonstrate how to accomplish a single feature. Instead, you’ll develop complete, fully-formed apps that are good enough to submit to the App Store!
Before You Begin
This section tells you a few things you need to know before you get started, such as what you’ll need for hardware and software, where to find the project files for this book and more.
This section introduces you to the first of the four apps you’ll build over the course of this book — Bull’s Eye.
As you progress through building the Bull’s Eye app, the section will teach you how to think like a programmer and how to plan your programming tasks. In addition, you’ll also learn how to use Xcode, Interface Builder, and even the basics of coding for iOS.
While some of the concepts in this section might seem a bit basic, please do not skip this section if you are new to iOS development – you will learn some fundamentals which act as the building blocks for what you learn later.
Phew! You have successfully created Bull's Eye. In the final chapter of this section you will learn about supporting different device sizes and add some beautiful animations.
This section builds upon what you learnt in the previous section by introducing you to your second app. Checklists takes you from a single-screen app to a multi-screen app where you learn the concepts of navigation flow, displaying data lists, and the idea of modeling and persisting your data.
If you want to build any sort of list-based iOS app, this section is a good starting point for learning the basics. Of course, even if you aren’t building a list-based app, this section has some basic concepts such as handling the navigation flow from one screen to another (and back again) that would be very useful to an apprentice iOS developer.
Learn how to save application settings and other useful information between app sessions. Also, how to guard against possible crashes and to improve the first-run experience of the app so that your app looks more polished and user-friendly.
Learn how to add local notifications to Checklists so that you can be notified when a to-do item is due and how to manage notifications through the lifecycle of a to-do item.
With this third section and the MyLocations app, you get into Swift programming in earnest.
Sure, you’ve already coded apps in the previous two sections, but this section starts off with a good review of all the Swift coding principles you’ve learned so far and adds to it by introducing some new concepts too.
In addition to that, you learn about using GPS coordinates, displaying data on maps, and using the iOS image picker to take photos using your camera or to pick existing images from your photo album. There’s a lot of valuable general information on Swift development as well as specific information about building location-aware apps.
This section also introduces you to building apps for Dark mode – a subject that you’ll do a deep-dive into in the next section.
You have made great progress! You've learnt the basics of Swift programming and created two applications from scratch. Now let's add some more Swift theory to strengthen the foundations we've built while creting those two apps.
This is the first chapter in this section which teaches you how to create a "location album" app. Take the first steps for creating this new app by learning how to use the Core Location framework to get your location and to display it.
You were able to access location data and display it in the last chapter. In this chapter, you will improve upon that code by handling GPS errors and improving the GPS accuracy. You'll also set up the app to handle different screen sizes.
It's time to give MyLocations a complete visual makeover! You'll change the styling for the app, add buttons for action items, add sounds, icons, and launch images.
The final section of the book covers building an app which supports both Light and Dark appearances from scratch via the StoreSearch app. StoreSearch shows you how to have separate custom assets and colors for each type of iOS appearance.
But that’s not all! The app also shows you how to do custom screens both for specific orientations (landscape vs. portrait) as well as for specific platforms (iPhone vs. iPad). This section covers networking, working with remote API endpoints to fetch data needed by your app, and how to parse the fetched data, how to work with Stack Views, and how to add iPad support to your app.
If that wasn’t enough, this section also takes you through the full application life cycle – from developing the code, testing it, and all the way to submitting to Apple. So don’t skip this section thinking that you know all about iOS development after the last few sections!
Most iOS job listings say that you need to have worked with a REST API. Well, this chapter starts you on a new app which will teach you all about how to fetch data from a remote server and get you on the path to REST API mastery.
You've only dealt with a single orientation up to now. But your apps need to support both portrait and landscape orientations. Learn how to add landscape support to StoreSearch and by adding a custom interface.
You've made great progress with StoreSearch, but now it's time to refactor the code to smooth out a few of the rough edges. Knowing how to improve your code by refactoring it is an important skill to learn.
StoreSearch works great when the display language is English. But what if you wanted to support other languages? Learn all about internationalization and how to update your app to suppport multiple languages.
After all that work, your app is finally ready. You just have one more gauntlet to run – the App Store submission process. Learn about the Apple Developer program, beta testing via TestFlight and how to submit your app for Apple approval.