Upcoming and OnDemand Webinars View full list

Advanced iOS

Take your iOS skills to the next level with this intensive dive into performance tuning, debugging, and exploring a wide range of iOS’ frameworks and APIs.

  • 20 April
    5 days, 09:00 AM - 05:00 PM
  • 09 November
    5 days, 09:00 AM - 05:00 PM

Description

Work with APIs from all corners of iOS in this intensive 5-day course to build faster, more stable, stand-out apps. Study a broad range of topics from animations and custom drawing to debugging and performance tuning.

Bootcamp Price: $4200

In the Atlanta area? Interested in commuting to class? Contact training@bignerdranch.com to discuss commuting options and discounts.

Who should take this class?

Current iOS developers using Swift with at least 6 months of experience.

What you'll learn:

  • Create custom views, animations, and behaviors across and beyond UIKit.

  • Write robust asynchronous code and understand app performance concerns.

  • Use Swift together with Objective-C harmoniously in the same project.

  • Explore media processing, networking, and data modeling APIs.

  • Debug and troubleshoot performance and memory problems.

  • Understand what’s happening under the hood of iOS’ interface.

How to prepare:

Pre-Course Assignment

There is no pre-course assignment, so long as you consider yourself proficient enough in iOS development to create simple apps without much assistance. 

Xcode and iOS

Please download the latest version of Xcode, which is necessary for the class. You can get the latest version of Xcode from the Mac App Store. iOS 12 is available as an over-the-air update for your iOS device if you’ll be bringing one. Please plan to download Xcode and run OS updates prior to arriving for class. Xcode requires that your Mac be running macOS 10.13.6 or later.

Device Provisioning 

In order to get the best possible experience from the class, we recommend that you bring an iPhone, iPad, or iPod touch with you. Testing the apps that we write in class will be much more fun if you can see them on your device.

*We will be using iOS 12 for all examples and exercises in this class, so devices should be running iOS 12.

If you are unable to provide a device for testing, let us know so that we can talk about which bits you might miss out on.

Syllabus:

PERFORMANCE

  • Design a well-abstracted, multithreaded API.

  • Create custom Operation subclasses for doing clean asynchronous work.

  • Compare and contrast the OperationQueue and Grand Central Dispatch multithreading APIs.

  • Ensure thread safety with semaphore-based locking when necessary.

DEBUGGING

  • Find memory leaks, CPU hot spots, abandoned memory and other problems using Instruments and the Memory Graph Debugger.

  • Track down hard-to-find bugs with the LLDB and custom breakpoints.

  • Troubleshoot layout problems with the View Hierarchy Debugger.

CUSTOMIZING UIKIT

  • Bend collection views to your will with custom collection view layouts.

  • Model and process document data with UIDocument and JavaScriptCore.

  • Drive custom interactive view controller transition animations.

  • Authenticate to OAuth2 services and store credentials in the keychain.

  • Use app extensions for sharing behavior with other apps.

DRAWING & GRAPHICS

  • Draw custom views and image data using Core Graphics and UIKit drawing routines.

  • Explore Core Animation layers, and their properties and 3D transformations.

  • Preview your custom views in Interface Builder.

  • Process raw camera data and find faces and barcodes in video with AVFoundation

  • Filter and process photos with Core Image.

INTEROPERABILITY

  • Work effectively with Objective-C and Swift in the same project.

  • Understand what does, and does not, cross the Swift/Objective-C bridge.

  • Work with Swift’s direct memory types for interacting with legacy C/Objective-C APIs.

Not Happy with Your Current App, or Digital Product?

Submit your event

Let's Discuss Your Project

Let's Discuss Your Project