Ask LH: I Want To Write iOS Apps, Where Do I Start?

I Want to Write iOS Apps. Where Do I Start?

Dear Lifehacker, I have a little background in coding, and I'd like to make an iOS app. I'm just not sure where to get started or what tools I need. Where do I start? Thanks, App Store Amateur

Dear ASA,

If you're versed in coding, you'll need to become familiar with Apple's development tools and their guidelines. Apple is known to restrict apps for all kinds of reasons, so it's good to know what you can and can't do before you start.

We're not going to walk you through the entire process of making an app — that's far too much information for this post. However, we will get you set up with the coding environment, point you to Apple's guidelines, and give you a few resources to help you learn Apple's different languages for iOS.

Xcode, Swift and the iOS SDK

Apple's IDE (integrated development environment) for both Mac and iOS apps is Xcode. It's free and you can download it from from Apple's site. Xcode is the graphical interface you'll use to write apps. Included with it is also everything you need to write code for the OS with Apple's new Swift programming language. It's also only available for Mac, so if you plan on making iOS apps, you'll need to be running OS X.

While Apple is pushing Swift pretty hard these days, you can program iOS in any number of languages, including Objective-C. Which you decide to use it really up to you, but here are a few guides, classes and tutorials to get you started:

  • Start Developing iOS Apps Today: This is Apple's official starting guide. It walks you through setting up Xcode, structuring your app, implementing everything, and submitting it to the App Store.
  • Introducing Swift: Apple's new programming language, Swift, is made specifically for iOS and Macs. It's supposedly much easier to work with and use, so if you're totally new to iOS development it's a good place to start. It works with and is similar to Objective-C (which you can also use if you prefer).
  • Apple's Development Videos: Apple includes a lot of videos from WWDC teaching you various aspects of development. They're a great resource for learning industry tricks and getting to know the basic toolset you're working with.
  • Ray Wenderlich's Tutorials: If you want to make games, Ray Wenderlich's tutorials are a great place to start. He covers all kinds of thing beyond games too, so you're bound to learn something about Swift and Objective-C even if you'd prefer to make a productivity app.
  • Apple's API Capabilities: Apple has a lot of different APIs to access app extensions, Touch ID, Photos, HealthKit, and more. Familiarise yourself with these so you can integrate more advanced features into your app.
  • Code School's iOS App Development class: You can get a grasp on the basics of iOS development for free through Code School's intro classes.
  • Stanford's iOS Development Classes: Stanford has a set of free classes to learn iOS development. It's still only available for iOS 7, but most things you learn should transfer over nicely to iOS 8. Chances are there will be an updated class for iOS 8 in the near future.

That should get you set up with your development tools and give you a good grasp on how things work on iOS.

Apple's App Store review guidelines

I Want to Write iOS Apps. Where Do I Start?

It's no secret that Apple's App Store Review Guidelines are incredibly strict. Apple has a very specific view of what apps will be allowed in the store, so it's useful to get to know the rules before you even try to build your app. If you don't, you might spend your time producing something that Apple won't allow into the App Store.

When you finish your app, you'll submit it to the App Store and it will be reviewed based on a content, design (more on that in the next section) and technical details. So, head to the Review Guidelines page and get to reading. Apple also has a list of the common reasons apps get rejected here. Typically, it's because of crashes, broken links, advertisements or incomplete information. Apple is also known to block apps that include any type of adult or political content.

Likewise, many of Apple's APIs have their own set of review guidelines. So, if you're going to integrate your app with HealthKit or Apple Pay, it's good to get to know those as well. Here they are:

Keep in mind that Apple tends to be very conservative with its app review process. Chances are, if you're contemplating something even remotely risqué, it will be rejected, so be mindful of that before you start making your app.

Apple's design guidelines

I Want to Write iOS Apps. Where Do I Start?

Beyond Apple's review guidelines, there is also a set of design and interface guidelines. Apple wants all the apps in its store to have some type of consistency, and while this doesn't have to mean good design, it does mean apps use the same basic UI elements.

To get a grasp on this, check out Apple's Human Interface Guidelines page. Here, you'll find the basics of what's required in both apps and icon design. Apple also has a set of Do's and Don'ts that summarise that massive guide so it's easier to get started.

Thankfully, Apple doesn't leave you totally in the dark on how to make a well designed app. Here are a few resources to help you design something worthwhile:

  • Designing Great Apps: Apple collected together some of the best talks from WWDC about design to help you get started with designing an interface.
  • Designing A User Interface: Apple put together a guide for designing interfaces in iOS 8 using the built-in tools of Xcode.

You can also find plenty of resources online to help improve your design chops.

Register For GitHub And TestFlight

I Want to Write iOS Apps. Where Do I Start?

Unless you're some kind of super-genius, you don't want to create your app in a bubble. Instead, it's good to get other people to look at your code and invite beta testers to try your app out.

GitHub is the go-to for software versioning and collaborative work. Once you register for GitHub, it's incredibly easy to link Xcode into it so everything you do is saved and accessible by other people on your team. If you need a little help setting up GitHub, the service guides walk you through the process.

Likewise, beta testing is also incredibly easy in iOS 8. Using TestFlight, you can simply invite users to your team so they can test your app. They will just need to download the TestFlight app.

Developing for iOS is really all about familiarising yourself with Xcode. Once you're comfortable there, you can write your app in a wide variety of languages or take a stab at learning Swift. As you move along to actually writing that app, you'll certainly need to dig up answers to more specific questions, but the tools above will get you started on the right path.

Cheers Lifehacker

Have a question you want to put to Ask Lifehacker? Send it using our contact form.


Comments

    Is this an update of an older story? We're up to iOS 10.x now rather than iOS8.x

      While iOS 8 is on the older side, there's a percentage of users still on it and a number of high-profile apps that still support it. For newbies though, it's best to stick with just 10 and work out if you need support for older releases rather than trying to appease all at once.

Join the discussion!

Trending Stories Right Now