Three of My Favorite iOS Frameworks
Posted: February 1st, 2012 | Author: Michael | Filed under: Android, iOS, Tech | No Comments »I have been doing iOS development for a few months now and I have come across some nice frameworks to assist in documentation, exception logging, and even a framework to help manage beta testing. I have found the following three frameworks invaluable in my current project:
- TestFlight is the framework I rely on the most to date. I use it to manage distribution of builds, gain feedback from app testers, analyze crashes, and gain insight into what my users are doing by placing checkpoints throughout the application. The sign-up and setup process took only about 10 minutes. It was very easy to integrate with my project. Integration includes adding a static library to your project and adding one line code in your AppDelegate that contains your API key. Once this in place, data will now be sent to TestFlight and you will be able to see it immediately on TestFlight’s website. You can see what type of devices your users are using along with the time spent testing. If the app does crash by chance, you will be able to see the stacktrace as well. You can also push new builds out to your users easily. Once you upload your IPA file to TestFlight, they will send an email to your users that will have a link for them to install. If they are in the application while a new build is being pushed out, they will even get an in-app notification that there is an update ready. If your users have feedback for you, they can simply reply to the update notification email and the feedback will be stored with the build. One final thing, you can add checkpoints throughout your app to gain insight into what your users are doing while using your app. Adding a checkpoint is as simple as adding one line of code. I am sure there are more features that I have failed to mention here, but I encourage you to take a look at this framework if you do any sort of beta testing. You won’t be disappointed.
- Before finding TestFlight, I was using BugSense. First off, they have different purposes. BugSense is an error logger for beta testing or production use, while TestFlight has more functionality to allow for managing distribution and gaining feedback from your users, but is meant for beta testing only. BugSense was also very easy to integrate into my app. BugSense also works for iOS and Android! I used this in our Android application as well and it was very easy to integrate. Bugsense allows you to gain insight into errors that are happening out in the wild. You can mark errors as resolved or not resolved to know which ones have been taken care of. BugSense also groups the errors together so you don’t have to sift through hundreds of errors. When I was using BugSense it was free. They have started charging for additional features since then. We will need to re-evaluate when we go to production if we are going to utilize it in our application.
- Doxygen is my final favorite framework so far. It is used to auto-generate documentation for your code. For those of you familiar with .NET, this is like XML code comments. It allows you to document classes, properties, and methods by following a certain comment format. It will create HTML pages or you can set it up to integrate your documentation into Xcode. I found Doxygen more difficult to set-up, but I went way out. Instead of just creating the HTML documentation, I set it up so the generated documentation would show up in the organizer in Xcode. I also setup a service so I could just highlight code, right-click, click Doxygenize and voilà, the Doxygen template comment was inserted above my code. It is pretty slick if you are willing to spend the time to set it up. Maybe I will write a post about that another day.
Do you have any frameworks you use in your projects (iOS or Android) that you find beneficial? Leave a comment if you feel like sharing one or many!

















