101: Beginning Swift
Swift is Apple’s new programming language. Released in 2014 and open sourced in 2015, it is the new hotness that everyone in the iOS and Mac programming world is talking about. In this session, you’ll take a tour of the language right from the basics. At the end you’ll be comfortable reading and writing Swift, and will be ready for the rest of the conference!
102: Beginning iOS
Time to start developing for iOS! In this session, you’ll build an app from scratch and learn to assemble your user interface with Storyboards and Auto Layout, display large datasets with Collection Views, and fetch images and JSON data from a server. These core skills will help no matter what path your iOS development takes!
In this session you’ll build your first stack view and learn the true power of easily constructing realistic layouts without Auto Layout constraints.
Want to increase your app’s exposure and enhance the user’s experience at the same time? Then check out iOS 9’s new App Search APIs. App Search gives you the tools needed to index app content and make it searchable in Spotlight. Also, the look and functionality of Spotlight search results can be customized to better fit the content of the app.
Have your users ever complained that your app is too slow or crashes all the time? Have you spent hours trying to track down a bug? In this session, you will learn how to use Xcode Instruments to perform analysis and diagnostics to pinpoint exactly where in your code the problem occurs. By incorporating Instruments into your development cycle, you will become a better developer.
106: Beginning watchOS 2
The Apple Watch - ‘nuf said! Learn how to adapt an iOS app with Watch-appropriate layout and UI controls, to create a Watch app you’ll be proud to show of. Warning: both versions of the sample app have been proven by user testing to be highly addictive. ;]
Apple TV is finally here! Now all it needs are some apps. Don’t miss out on an opportunity to learn how to create a traditional (native) tvOS app. The sharks are hungry, and this session will help get your hook in the water.
Tired of reinventing the wheel? In this session, you’ll learn about iOS design patterns: reusable solutions to commonly occurring problems. You’ll also learn new and impressive terms — “loose coupling,” “composition over creation,” “polymorphic design” and more sure to impress your friends and loved ones.
Are you just getting started with Swift and need some style tips? Or are you learning Swift, but find yourself writing Swift code with an Objective-C accent? In this session, you’ll see contrasts between the old Objective-C ways and the new Swifty ways, and you’ll pick up some tips on how to make your types take full advantage of all that Swift has to offer.
203: Custom Controls 1
Ever wonder how the controls provided by UIKit are engineered? Well wonder no more, as this session will walk you through everything you need to know. You’ll learn how to create a unique custom control by compositing existing views and layers, before making it Interface Builder friendly so you can customize the control at design time and have it appear exactly as it would at run time.
204: Custom Controls 2
Having created a great looking control in part 1, you’ll be wondering how you can make it fully interactive, embracing the unique opportunity that touch-based devices offer. You’ll start out by creating a custom gesture recognizer, before stepping back to a more technical level and discovering how to use iOS frameworks to make a reusable, distributable package that you can share with all your friends!
Add some personality to your apps by moving beyond the iOS standards and adding a pinch of surprise and delight to your apps. In this session, you’ll learn the principles behind custom refresh controls and transitions, and how to make your app stand out from the crowd.
206: 3D Touch
Ever wanted to take your app to the next dimension? The latest iPhones now have support for capacitive touch, which can tell how hard you are pressing on the screen. New to iOS 9, the 3D Touch APIs let you add home screen shortcuts, peek and pop, and even your own custom gestures! This tutorial will teach you all about these new APIs and show you just how easy they are to add to your apps.
207: Xcode UI Testing
In Xcode 7, Apple introduced the ability to UI test your application without any third-party dependencies using XCUI tests. Learn how to take advantage of the UI test recording feature, how to use accessibility features to verify your application works for your users as expected, and how to pass information into your test target even though it’s running in a totally separate process.
208: Xcode Tips & Tricks
Have you ever spent time traversing Xcode’s interface searching for that one file or feature you want? This session will introduce you to several Xcode tips including hotkeys, behaviors, code snippets, and more! Watch as Xcode does exactly what you want it to at the touch of a button, or even better — without touching anything at all.
iPhone 4S, 5, 6, 6 Plus, iPad, and iPad Pro, oh my! With each cool new device Apple announces, it becomes more important to use Auto Layout in your apps. In this session, you’ll learn what’s going on behind the scenes with Auto Layout, and how to make layouts work with UIStackView and UIScrollView too.
With LLDB, you are a puppet master in a vast expanse of memory. Learn how to impress/scare your coworkers with your newfound debugging knowledge and gain insight into how Apple solves the same problems you’re up against.
Swift 2 protocols can do things impossible in Objective C, so much that Apple has even argued for “Protocol-Oriented Programming” as an alternative to object-oriented programming. What does this really mean and when is it wise? This talk will walk through a detailed example, illustrating the pros and cons of OOP and protocol-based modeling, to show where Swift protocols are strictly superior, and also where their new benefits introduce fundamental new tradeoffs.
Swift’s type system encourages safety and forces us to write better code. However, this can be problematic when working with C. You may not see this as an immediate problem, since you’re coding in Swift, right? But what if your next project includes a legacy C codebase or open source C lib you need to wrap? This session will teach you how to safely work with C from Swift, what the obstacles and caveats are, and how wrap your C code so it’s far more Swift-y.
305: App Architecture
Is your codebase resilient to change? Can you and your team build features and fix bugs swiftly and easily without inadvertently introducing regressions? In this tutorial, you’ll learn practical core architectural concepts while getting hands on experience writing flexible code. From encapsulating user story logic into asynchronous NSOperations to injecting dependencies, you’ll walk out of here architecting apps like a pro!
306: MVVM in Practice
Sick of giant view controllers? Not sure where to put your app’s business logic? Wanting to write tests but can’t for the life of you get started? Lucky for you, the Model-View-ViewModel pattern is the answer you’ve been looking for! In this session you’ll get hands on experience organizing your code into easy-to-understand testable components using MVVM.
Developing for iOS used to be as straightforward as just targeting an iPhone, iPad, or (if you were feeling adventurous) both! In the past year, however, Apple has introduced a watch, a new Apple TV, and bigger iPads that can run your app in a multitude of size modes. You will learn how to create a single project that shares styling, frameworks, and code across a family of targets including iPhone, iPad, Apple TV, Apple Watch, and a Today Extension.
You (hopefully) love using Core Data in your apps but what’s the best way to pull data off the Internet and synchronize it with your app? In this tutorial, you’ll learn how to structure your Core Data calls into services which makes synchronization easier for both unit testing and implementation.