⇥ iOS odds and ends
Over the past few weeks, I’ve started open-sourcing a number of libraries that I have, at one time or other, built for my iOS projects. Most of these projects concern themselves with simplifying tasks that pretty much every app has to deal with at one point or another, and that every iOS developer finds themselves rebuilding (or refactoring) over and over across all their products.
Some of these libraries have served me well for a number of projects and have already made their way into the App Store one way or another. A couple I have built just recently because I needed them for products that haven’t quite made it to prime time.
The reason why I chose to open-source the code is that having to write these libraries kept me from actually building cool apps—which I absolutely hated. For all its simplicity and beauty, the iOS SDK has some glaring limitations that make a developer feel like he has to build the road in front of his car in order to get where he wants to go. Thus, rather than focusing on the journey, you have to deal with such mundane tasks as parsing XML data, downloading information from the web without locking up the entire app and performing trivial 3-D animations that end up taking ridiculous amounts of code1.
In any case, I have put the following projects on GitHub in the hopes that they will be useful to someone:
- AFKGlassyButton · Imitates Apple’s built-in glassy buttons (in arbitrary colours) without using the “officially unofficial” UIGlassButton. I built it because if my app has to be rejected, at least it ought to be my fault.
- AFKXMLReader · A document-oriented XML reader to supersede the antiquated SAX-like, event-driven NSXMLParser. With a little modification (which I plan on eventually adding, but it would really be nice if someone just happened to send me a patch), it can write XML data as well.
- AFKLoadManager · a queue-based class that manages an arbitrary number of concurrent downloads asynchronously and without overloading a device’s connection.
- AFKPageFlipper · A container that displays an arbitrary number of subviews, allowing the user to switch between them using a 3-D page-flipping mechanism (somewhat similar to the one used by FlipBook). Unlike some similar projects I’ve found, AFKPageFlipper supports the inclusion of “live” UIView subclasses, and not just of static images.
- I fully realize that it’s my bitterness towards Core Animation, a framework that I neither understand well nor like at all, speaking here. But, what can I do? Maybe one day I’ll be bothered to actually read the docs—for the moment, I contentedly sit in a corner, scowling at how unfair the world is. ↩
Leave a comment