Over the 2016/2017 winter holidays, I took time and went to Lisbon to cowork with some developers I know. While I was there, I had a problem and an app idea to solve that problem, a fitness set suggestion app based on the universe of martial arts workouts that I have come to embrace via http://peaceofmindsf.net.
The main issue with this this app idea was that it needed to be native ios on account of, I've made enough crappy webapp prototypes to know the interface and interaction experience mostly sucks and the time it takes to get a fullscreen web and mobile web interface working doesn't sound appealing to me. So, I would need to build this in native ios land.
Initially I thought that I would use the super cool react-native toolkit to do this, I'm generally a huge fan of react native. After spending half a day dealing with facebook auth issues in react-native, I decided that I hated having an abstraction tool between me and xcode and I knew that I couldn't trust the development process if I knew that everytime I had to open xcode I would be lost and frustrated.
On or about January 3 2017, I decided I would quickly teach myself how to use xcode and swift to build an MVP app that could be effectively used by at least me. Ultimately, I spent 30 hours building tutorial applications and 100 hours building the fitness app mvp. During those 130 hours, I learned some details that I will share in this post.