iFixit/iFixit-iOS — pull request #32 by BaseInfinity (2013-09-27 21:29:20+00:00)
Title: Update iOS 7 for iFixit

There were a lot of changes to be made to get code working for all three iOS
versions (iOS 5.1, 6.x, 7.X). Below are some key things I had to do:

1. Rewrite how our login view controller works. I made it modular, so anytime
we need to access to LoginViewController, all of it's logic is tied into one
function call. This helped me simplify a ton of code.
2. Remove shared logic between LoginViewController and GuideBookmarks. This
made using our GuideBookmarksViewController much simpler and allows us to
reuse code in different parts of the code base.
3. In 90% of the places where we were using a navigation bar, I wrapped said
viewcontroller in a UINavigationController. This is due to iOS 7's status
bar. The status bar was appearing over our viewcontrollers and causing a lot
of edge case issues with iOS7 where we simply had a Navigation Bar with no
UINavigation controller. I avoided these edgecases by using a
UINavigationController. This will force any views contained in the
navigation controller be shifted below by 20 pixels correctly.
4. Added some macro definitions to easily separate our iOS version specific
code.