Last year, I built a native IOS app from scratch with no prior experience with native app development.
This was a side project with a friend to build a social diet sharing app. We started with the android app initially, but later decided to build an IOS version of it.
Since I built the initial versions of the android app, I had a very good notion of the UI i was going to build (consistency is important. I spent a good amount of time for UI layouts for android app). The next question was what platform we want to build it ? We originally had hybrid vs native discussion and I convinced him to go for the native way. Coming from the C#/Typescript background, the choice between learning Objective C vs Swift was obvious.
Learning a new language
Swift 2 looked a lot like Typescript, with which I fell in love around that time. So picking up the language syntax was easy. With internet, learning a technology is not hard, it is the patience and persistence until you get what you want, takes you forward. With the help of internet i was able to build the initial version with the following basic features
- Login / Register
- User profile
App store wait time
After submitting the first version of the IOS app to the store, I kept refreshing my email every other hour checking for a response! When you are so eager(I was so eager to tell people our IOS app is out), thing happens very slowly! It took 7 days for me to get a response and it was not the one i was waiting for :( The appstore team rejected the app due to many reasons.
- There was no “flag post” feature
- Lack of “Block user” feature
I fixed the issues quickly and resubmitted. After another 6 days, i finaly got what i was waiting for.
I shipped multiple updates to the app over the next few months including features like
- Health Rating
- Taste Rating
- Public Feed
- Push notifications
- Like & Comments on posts
- Locations ( Using 4Square API)
- Post Category
- Ingredients & Calorie information on post
- Facebook & Twitter Integration
Where is the app now ?
We decided to not continue maintaining the IOS app in the store anymore. So it is not available to download. I created a video of the app before deleting it from my phone. You can see it here. (It is around 10 minutes. Sorry! My video production skills are so poor :))
I really enjoyed building the native app from scratch. I plan on sharing the useful code snippets & tricks on swift / IOS development.