Skip to content

Instantly share code, notes, and snippets.

Created August 24, 2012 16:29
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
Cocoa Gets Its Big Boy Pants

The programming environment for iOS and OS X — shorthand Cocoa — is a fascinating mix of polished, mature tools and immature or non-existent tools. This shows in the relative recency of official testing support, lack of official library dependency management, and the new growth of projects in the Cocoa ecosystem to fill these gaps. Mature in terms of getting products to market, the iOS developer community is just now walking around on its feet when it comes to practices Rubyists, for example, take for granted.

Demonstrated through building a new Cocoa Touch app, I will show what modern iOS development looks like using mostly Open Source tools and frameworks:

  • CocoaPods for managing library dependencies
  • Kiwi BDD for RSpec style testing
  • Frank/Cucumber for automated specification testing of the UI
  • Jenkins for Continuous Integration
  • Test Flight for over-the-air Continuous Delivery

Emphasizing purpose, setup, and exposing gotchas, I won't get into detailed usage of each tool. Instead, this session will smooth your path for what isn't always easy or inherently obvious. At the conclusion of the session you will be ready to create a Cocoa project with modern tools you take for granted in other development environments.

Focussed on iOS and Cocoa Touch, much will be applicable to OS X and Cocoa development.

Tim Taylor is the Programming Bear at Detroit Labs, a mobile client-service company and product incubator in Downtown Detroit. Tim believes in the power of make-believe, craftsmanship, meritocracy, testing, automation, honesty, and hugging.

Firmly polyglot, Tim's focus of late is on techniques, practices, tooling, frameworks, beliefs, and other universal aspects that exist (mostly) independent of platform. Tim has been at this long enough that he looks good doing it in suspenders, but still delights in new discoveries and learning.

His most recent foray has been into iOS development with Cocoa Touch and Objective-C, a fascinating mix of software development maturity and immaturity.

Happy panda is happy.

Copy link

You could replace TestFlight with HockeyKit if your focus is on open-source.

Copy link

@SlaunchaMan, good idea. Then it forces me/us to figure it out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment