1. 2

I have a Macbook Pro and Xcode installed, but I think the Xcode interface really blows, so I’ve always been turned off by trying to write my first iPhone app. I have a really great idea, but I want to be comfortable enough with developing iPhone apps so that I don’t make a terrible app and make a bad first impression.

What kind of resources should I look into in order to get started with my very first iPhone app?


  2. 3

    Just build one. Don’t worry about building your great idea app right off because you probably don’t know enough about the iOS APIs yet to architect it properly. Build a “hello world” level app and get it on the screen of your phone. Once you get that, start adding features to it, anything that seems interesting and at least sort-of related to the features your real app will need. Look up or read anything you need to that helps you through whatever roadblocks you hit. After a while, you should have a feeling when you’re ready to start working on the app you actually want to build, which you should start as a new project in XCode.

    1. 2

      I learned using the Stanford course (CS193p) that covered iOS 10, Xcode 8 and Swift 3 all at once. Right out the gate you’re building apps and running them within the first hour or so. The pace is fast so you can really learn a lot in a couple weeks if you pace it out right but it also offers a depth of knowledge – you’ll know the “why” and “how” for most things you touch on.

      The lectures and materials are all online. Here’s the first video on Youtube or on iTunes for free as well and a repo of the notes, materials, and assignments.

      The instructor is Paul Hegarty, who is easy to follow and explains every little thing he clicks on or types in XCode so it was fantastic for a totally new user to that IDE. He also has incredibly deep knowledge about the API, as he was Vice President of Software Engineering at Next Computer Inc. and longtime friend of Steve Jobs. Ever wonder why so many classes in Cocoa/Cocoa Touch have the NS prefix? It stands for NeXTSTEP, which Paul was in charge of developing.