iOS Apprentice Updated for Swift 4.2 & iOS 12

The iOS Apprentice, our classic book for learning iOS development, has been completely updated for Swift 4.2 and iOS 12! By Chris Belanger.

Save for later
Share

Happy Wednesday – it’s book release day during the iOS 12 Launch Party!

This week’s book release is the iOS Apprentice, Seventh Edition. This is our book for complete beginners to iOS 12 development, where you’ll learn how to build four complete apps from scratch.

Once again, long-time team member Fahim Farook has taken Matthijs Holleman’s classic and completely updated the entire book for iOS 12, Swift 4.2 and Xcode 10.

This is a free update for existing PDF customers, as our way of thanking you for supporting our site.

Don’t have a copy yet? Read on to see how you can get one during our limited-time sale!

What’s Inside the iOS Apprentice

Did you know that iOS Apprentice was first written for iOS 5, and digital edition customers have received free updates to the book for every version of iOS since then? That’s seven years’ worth of updates — you just can’t beat that kind of value!

Here’s what one of our readers has to say:

“Over the years, I have read iOS books/ebooks by Dave Mark, Big Nerd Ranch, Wei-Ming Lee, Neil Smythe, Matt Neuburg, many RW tutorials and probably several others, but Matthijs Hollemans’ tutorials absolutely tower over the rest. . . .Matthijs’s knowledge is profound and his presentations are flawless, but his detailed explanations are pure dev gold.” –chicago in a recent forum post

The iOS Apprentice is one of our best-selling books of all time. Over 12,000 people have started their iOS development adventures with this book since it was released.

Here’s what’s inside:

Section I: Getting Started

In the first tutorial in the series, you’ll start off by building a complete game from scratch called “Bull’s Eye”.

The first app: Bull’s Eye!

Here’s what you’ll learn:

  • How to use Xcode, Interface Builder, and Swift in an easygoing manner.
  • How to use standard UIKit components
  • How to customize them to make them look good!

By the time you’re done, you’ll have created your own iOS app from scratch, even if you’re a complete beginner!

Section II: Checklists

In the second section, you’ll create your own to-do list app. In the process, you’ll learn about the fundamental design patterns that all iOS apps use and about table views, navigation controllers and delegates. Now you’re making apps for real!

The second app you’ll build: Checklists!

Here’s what you’ll learn:

  • How to use Storyboards to design user interfaces
  • How the Model-View-Controller design pattern works in iOS
  • How to use table views, including the new prototype cells and static cells capability
  • How to create your own data model objects
  • What refactoring is, why you should do it, and how to do it
  • How to use Navigation Controllers
  • Using text fields and the keyboard
  • Sending data between view controllers using delegates
  • Saving your app’s data into files in the app’s Documents folder
  • Using NSUserDefaults to store application settings
  • How to use arrays and dictionaries
  • How to set reminders using local notifications

Most importantly, you’ll learn more than just how to program with the standard iOS components — you get to see what it takes to build a quality app. You’ll learn about all the little details that set great apps apart from mediocre ones. After all, you need to make a great app if you want it to be a success on the App Store!

Section III: MyLocations

In the third tutorial in the series, you’ll develop a location-aware app that lets you keep a list of spots that you find interesting. In the process, you’ll learn about Core Location, Core Data, Map Kit, and much more!

The third app in the book: MyLocations!

Here’s what you’ll learn:

  • More about the Swift 4 language
  • How to use the Tab Bar Controller
  • Using the Core Location framework to obtain GPS coordinates and do reverse geocoding
  • How to make your own UIView subclasses and do custom drawing
  • How to use Core Data to persist your objects
  • How to make your own table view cell objects
  • How to embed the Map View into your app
  • How to use NSNotificationCenter
  • How to use the camera and photo library
  • How to use “lazy loading” to improve the responsiveness and memory usage of your apps
  • How to play basic sound effects
  • How to make your app look more impressive with UIView-based animations and Core Animation

Of course, all of this is just an excuse to play with some of the more alluring technologies from the iOS SDK: Core Location, Map Kit, the camera and photo library, and Core Data.
These are frameworks you’ll use all the time as a professional iOS developer!

Section IV: StoreSearch

Mobile apps often need to talk to web services and that’s what we’ll do in this final tutorial of the series. We’ll make a stylish app that lets you search for products on the iTunes store using HTTP requests and JSON.

The fourth and final app you’ll build: StoreSearch!

Here’s what you’ll learn:

  • How to use a web service from your apps and how to download images
  • View controller containment: how to embed one view controller inside another
  • Showing a completely different UI after rotating to landscape
  • Cool effects with keyframe animations
  • How to use scroll views and the paging control
  • Internationalization and supporting multiple languages
  • Changing the look of navigation bars and other UI elements
  • Making iPad apps with split-view controller and popovers
  • Using Ad Hoc distribution for beta testing
  • And finally, submitting your apps to the App Store!

By the time you have finished this fourth part in the series, you will have the core skills that it takes to make your own apps, and will be ready to make your own apps and submit them to the App Store!

Best of all, the book comes complete with all source code for the apps in the book. That way, you can always compare your work to the final product of the authors at ay point in your journey through the book!

About the Authors

Of course, our book would be nothing without our team of experienced and dedicated authors:

After many years of handcrafting his logic with if-then-else statements, Matthijs Hollemans finally saw the light and switched to machine learning, teaching computers to come up with those if-then-else statements by themselves. Why write programs when computers can write their own? Matthijs also lifts heavy things in the gym and plays heavy things on his guitar. Matthijs blogs about iOS machine learning at machinethink.net. You can find him on Twitter as @mhollemans.

Fahim Farook is a developer with over 25 years of experience in developing in over a dozen different languages. Fahim’s current focus is on mobile development with over 80 iOS apps and a few Android apps under his belt. He has lived in Sri Lanka, USA, Saudi Arabia, New Zealand, Singapore, Malaysia, France, and the UAE and enjoys science fiction and fantasy novels, TV shows, and movies. You can follow Fahim on Twitter at @FahimFarook.

Chris Belanger

Contributors

Chris Belanger

Author

Over 300 content creators. Join our team.