Jeff Kelley is an iOS developer at Detroit Labs and author of Learn Cocoa Touch for iOS, published by Apress. He’s been working with iOS since its infancy in 2008, and managed the OS X environment at the University of Michigan before that. When not working on iOS apps, Jeff listens to an inordinate amount of podcasts and seeks out new and interesting races to run; he is currently training for a half marathon.
As even mobile devices these days have multiple processors, it’s more and more important to write your code to take advantage of them. There are many ways in OS X and iOS to write concurrent code—threads, operation queues, and Grand Central Dispatch—so this talk will cover the best practices behind using them. Since the latter two make heavy use of blocks, we’ll also cover how blocks work and some built-in APIs that make block-based concurrency quite easy. After this session, you’ll be writing faster, more responsive apps in no time!
How many times have you tried to debug something in Objective-C without really knowing *why* it works a certain way? Do you start sweating when Xcode throws linker errors your way, or when you have to mix ARC and non-ARC code? This talk will reveal how Objective-C works, what actually happens when your application is linked, and reveal what ARC is actually doing. Objective-C is a 30-year-old language, and it’s evolving faster than ever. We’ll look at the basics of the language, how properties and categories work, and cover advanced topics like creating classes at runtime, memory management and ARC, and tagged pointers. At the end of the talk, you’ll be able to diagnose issues with your app more quickly, dive into system components more readily, and have a better sense of why your code works.
Date and time APIs are notoriously difficult, even though we all have an intimate understanding of the problem domain. Why is it so hard to get right in an app, yet so easy to reason about? How could Apple screw up alarms around Daylight Savings Time more than once? In this talk, we’ll take a tour of the time and date APIs in Cocoa and Cocoa Touch, solve some common problems, and figure out why things aren’t always as easy as they seem to be.
OpenGL ES is one of the most intimidating technology stacks on mobile platforms today. Outside of audio/video processing, there isn’t much with the same performance demands, intractable troubleshooting, and deeply entrenched knowledge. Yet the introductory texts available online tend to be of two varieties: “Introduction to OpenGL” and “OpenGL ES If You’re An OpenGL Expert.”
In this talk we’ll start at a very high level, comparing OpenGL ES to other APIs, such as Metal, SceneKit, and SpriteKit. We’ll dive into OpenGL ES specifics as well as the basic foundation of 3D graphics programming. By the end of the talk, we’ll walk through some real demos of 3D scenes on iOS.