iOS App Developer's Launchpad

2 min read Original article ↗

Now that we’ve had the first release of the Timeflies iPhone app, I wanted to share some things I’ve learned along the way. This is the first post in a few that will explore some things I’ve done. If you’re like me, and decided to throw caution to the wind and try to dig in and build an iPhone app, then here are some things I learned that can help you too.

  1. Read Something. The best way to familiarize yourself with concepts is to do a little digging. Don’t be scared if you don’t understand everything though, and only pay attention to the stuff about iPhone programming for now. Here are a couple good resources: Exploring The iPhone SDKDeveloping Mobile Applications, and Big Nerd Ranch Guide 
  2. Don’t like reading? Try a tutorial. Ray Wenderlich has a really good one. Oh and there’s this too.
  3. Read Smart Blogs. Instagram Engineering is amazing for general technical thinking, while Pulse News has great tips on iPhone programming, as well as Hotel Tonight.
  4. Do not use any synchronous web calls. This is easy to overlook, because in the beginning for SOME CRAZY REASON everyone seems to think that everything you want to make can take forever and block the UI completely. In reality, you hardly ever want to do this. Thankfully, iOS 5 and later has the handy dandy sendAsynchronousRequest: call which makes this much easier.
  5. Go into detail on updateOperations and multiple threads. Pulse has a great post on this subject.
  6. Use TestFlightCocoaPlant with CoreDataEGOImageLoaderDejalActivityView, etc.
  7. Check Cocoa Controls and see if someone’s made it already. It’s ok to use stuff other people have made, or just to look at how they solved the problem, so you can make your own version. Cocoa Controls is a website of open source code to use or check out.
  8. Should you use Interface Builder or Storyboards? I don’t, and I love it that way, but it depends on the most accessible information available. Whatever you do, don’t try and learn everything before trying something out. Figure out how to use one to your advantage and work within its constraints.