Advanced iOS Bootcamp

If you have the basics of iOS under your belt and are ready to expand your horizons, consider spending time at our Advanced iOS Bootcamp, fully updated for Swift and iOS 8. If you can use the techniques covered iOS Programming: The Big Nerd Ranch Guide, you're ready to enjoy taking the next step.

Hold on tight and batten down your cranial hatches: this class explores advanced iOS development topics including concurrency, custom drawing, animated and interactive view controller transitions and maximizing the performance of iOS applications. In short, prepare your brain for an influx of iOS knowledge, in both Swift and Objective-C.

What You'll Learn

Upon completion of our Advanced iOS course, you will be able to:

  • Process images and find faces using Core Image
  • Create custom web service configurations for authenticating with OAuth 2 and downloading files in the background
  • Improve application performance by performing work concurrently with NSOperationQueue and Grand Central Dispatch
  • Access the accelerometer, gyroscope and compass using Core Motion
  • Automate application user-testing with the UI Automation Instrument
  • Display content on external displays using AirPlay streaming and wired video connections
  • Build a custom collection view layout to present your content to your users your way
  • Use web views to render content and pass information and events between Javascript and Objective-C
  • Debug applications with LLDB
  • Master Xcode’s performance-tuning Instruments, including CPU Profiler, Leaks and Zombies
  • Record video, process barcodes, and synthesize speech using AVFoundation
  • Store credentials securely using the keychain
  • Understand the internals of the Objective-C runtime and message passing
  • Build animated and user-driven transitions between view controllers
  • Create iOS extensions with embedded frameworks

updated 10.5.15

  • Syllabus



      • Custom Transitions
      • Create custom animations for transitions between view controllers
      • Interactive Transitions
      • Drive your custom animations interactively based on user input
      • LLDB
      • Get friendly with the LLDB tool for debugging
      • Instruments and View Debugging
      • Profile your application for memory, CPU, and view hierarchy issues.
      • Unit Testing
      • The foundations of XCTest for ensuring code correctness
      • Quartz
      • Custom drawing/rendering for views, printing, and PDF needs
      • Layer Transforms
      • Understand what's under the hood of the animation framework
      • Collection View Layouts
      • Build fully-custom layouts for use with UICollectionView
      • JavaScriptCore
      • Run javascript within a virtual machine within your app
      • UI Testing
      • Use the UIAutomation Framework for testing user interfaces
      • NSOperation
      • Multithread your app using a high-level Obj-C API
      • GCD
      • Dig below NSOperation with the Grand Central Dispatch C API
      • UIDocument
      • Explore a powerful, alternative model management architecture
      • Extensions
      • Understand how iOS's extensions allow talking to other apps
      • Motion Effects
      • Get gyro and accelerometer data, and add parallax and motion-driven effects to your views
      • Core Image
      • Process images with filters and face detection
      • OAuth2 with NSURLSession
      • Understand web authentication flows and iOS' keychain in the context of custom NSURLSessions
      • AVFoundation
      • Audio/Video recording and processing, barcode reading, and speech synthesis
      • Objective-C Runtime
      • Understand what's under the hood of Objective-C, and how to leverage its power and quirks to your advantage.

      updated 10.5.15

Our Nerds, Your Place

No matter where you are, our instructors can come to you. Need to take your team to the next level?

Learn More


Advanced iOS students should be current iOS developers who are looking expand their knowledge of frameworks and know what's happening under the hood of an iOS app.

Students in this class are usually full-time iOS devs, have a side business already up, an app in the store or have helped shipped an app with a team. We recommend at least three months of working iOS development experience prior to class.

While many of the Advanced iOS students have taken our Beginning iOS courses in Objective-C and Swift, plenty of others have learned iOS programming on their own or through another class. What matters is that you’re willing to devote yourself to learning the material. It’s important to make sure you’re comfortable with iOS basics so you won’t be overwhelmed by day one.

With that in mind, you’ll need the following before you embark on this path to Nerdvana:

  • A working understanding of both Objective-C and Swift*.
  • * Have a firm understanding of the content in our Beginning iOS class. * Are in the Apple developer program and can run code on your device without help. * Know what blocks are and have a passing familiarity with their syntax. * Have resigned yourself to the fact that Xcode crashes a lot. * Have a good handle on the basics of:
    • View controllers
    • Navigation controllers
    • Table views
    • Delegates and data sources

Now updated for Swift 2! As the current climate of iOS development often involves working with both languages, this course is taught using a mix of Objective-C and Swift 2.

We are happy to supply course registrants who only know one of the two languages with a copy of our programming guide for the other language in advance of the course, so that you can be prepared for exercises in both languages.

updated 10.5.15

How to prepare your device for our class

Get your device ready using these handy instructions.

Advice from the nerds

You will need to be able to deploy an application to your device before you come to class. For this class, you should have a pretty good idea how to do so. If Apple updates Xcode or iOS versions before class begins, you may update to the current version. However, you must make absolutely sure you can still deploy to the device after you update.

If you are unsure of whether you are prepared, do not know how to deploy to the device, or will be using one of our computers or devices, we are happy to help.

updated 3.27.15

Upcoming Classes

Big Nerd Ranch Callaway

Big Nerd Ranch West