iOS App Development Process — Idea to App Store
I’m sure you have an idea of what you want to make. Maybe it’s a social media platform. Maybe it’s an Uber-like application. I will give you a bit of a quick process list, but don’t get too caught up on this. Figuring it out as you go is part of the process.
- App Idea — Don’t just have an idea, but think about what you want within this app, what you want it to do, and what screens you want.
- Storyboard Sketch — Draw out your storyboard on a piece of paper. Simple sketches will do. Figure out what buttons take you to which screens. This doesn’t have to be every screen or button location, but it’s the basic skeleton.
- Design — (Optional) I personally use Adobe Xd, but Sketch 3 is really good, too. You don’t need to design in a software platform outside of Xcode, so skip this step if you wish. Since it’s your first app, you can make it look pretty later by integrating custom graphics, symbols, or icons.
- Xcode Design — Now, you can hop into Xcode. Get to designing the UI with constraints and stack views, etc. If you get stumped, use Google and search how to do each thing.
- BaaS/API/CocoaPods — I like to use Firebase for my Backend-as-a-Service. It allows for an easier workflow, so if you wish to use a BaaS/API or something else, implement it around the same time as creating your UI in Xcode.
- Xcode Coding — Now it’s time to dive into the code and start implementing your idea. Assuming you’re making a social media app, start off with getting most things working for the login/sign up screen, then the home feed, then the profile page, and so on.
- Test, Debug, Revise — This is where you try your best to break your app: not by changing your code, but by pretending you’re an end user trying out all of the available features. If something breaks, fix it.
- App Store Launch — It’s time to launch your app to the App Store, after purchasing your $99/year developer fee.
There are many different ways to go about developing an iOS app. Some people, like me, prefer to implement their BaaS/API/etc right when they open Xcode, then code as they design their UI. Others may design most of the UI, then start coding in their proper functions once that’s complete. You should just work as you feel comfortable.
Remember, if you ever get stumped, look it up! — Example: “How do I integrate Facebook authentication into my iOS app?”