We have all been there, right? You design the UI, you’ve planned out the architecture and how your application will work. Days go by and you’ve got things nailed down tight. Interactions are smooth, data is flowing like warm nectar from some newly discovered fountain of awesomeness. Your project is ready for the next thing.
You build a framework and add it to your baby. Errors. Huh? Fucking errors.
You start to try different things to get rid of the errors. The errors morph into different errors. You start to edit bits of your project and you’re worried that too much is changing to accommodate this new chunk of code. Sweat on your furrowed brow as you JUST WANT TO BUILD the project again. You’re missing the ability to see your application behave and do what you want. Right now its laughing at you.
When will this stop?!
You roll back and try again. You alleviate certain errors through intuition, luck, and StackOverflow searches. You feel it slipping away from you again, you’re editing stuff all over the place. You’re getting frustrated. Oh, doh! I need to build the framework for generic iOS devices. Oh, you need to add a few keys to your info.plist. You can’t copy the file into the project because Xcode thinks it’s already referenced – so you make a copy of the framework and move it in. Gradually it all starts to come back together. You add stuff to the AppDelegate and the compiler is complaining. You get it link up and work. After hours of pounding agitation.
Of course, we’ve all been there. From 100 miles per hour to 2 miles per hour in a matter of milliseconds. You prayed. You researched. You tried little things to see if they make a difference, even though you knew they wouldn’t. You start to forget all of the things you’ve done to alter your project in the hopes of getting it to build again. You burn through hours. If it was late, you have dreams about what you might try next.
Magic. Thank you!
Some little blip from the darkest recesses of your mind floats up and sparks a solution. Or a path to one. And you walk it with your keyboard in the hopes of lighting the candle in the dank and dark room of despair.
And then it comes together. Somehow it just does. At the tail end of the journey it all seems so obvious and clear. You feel satisfaction in knowing you’re not totally screwed anymore.
That time was well spent in learning how part A goes into part B which depends on part C, D, and E. You shake your head and feel elation when your build completes without error (and any warnings are actually welcomed at that point… yellow is better than red).
Coffee tastes better. You go though and delete all those blocks of random code you ended up commenting out in favor of other mystical trial and error code.
You look at your screen and mutter the words.