I recently wrote about Cocoa / Cocoa Touch frameworks, and in writing about it I was sorely tempted to dive into Modules, since they are pretty important to modern frameworks. But it was such a huge topic, I decided to break it out into a separate post. In a nutshell, LLVM Module Maps were invented … Continue reading LLVM Module Maps to the rescue!
If you don't know the nuts and bolts of how your code is compiled, linked, and executed on target devices, you aren't alone. And lets be honest, this is perfectly fine! That's the great thing about abstraction: not everyone need be an expert at everything in order to be effective. There are times though where … Continue reading Cocoa Dynamic Frameworks
You know how many times, as an iOS developer, you want to ensure some method or delegate call occurs on the main thread? We do this dance countless times, and while it's straight-forward enough, it can be a burden sometimes. Here's an easy way to keep your thread access safe, without having to write a … Continue reading Forcing a method to run on the main thread
Consider the following situation that happens far too often in mobile app development: You've just released an app that works perfectly for you, and you've tested it extensively. You're proud of your accomplishments and submit the app to the world, only to have several emails sent to you from users who have nothing but difficulties … Continue reading Logging with CocoaLumberjack and TestFlight
I've recently released version 1.2 of Docset Viewer, which fixes a number of bugs people experienced with the previous version. If you had problems with the previous release, please give this one a try. One of the improvements I've added is the ability to customize whether or not you would like to back up your … Continue reading Docset Viewer v1.2 and how to customize iCloud backups
As I've shown in my previous post announcing Docset Viewer, I want this series of posts to be more than me talking about my new app. In keeping with the instructional nature of my site, I'm going to show you a few things that I did in my new app Docset Viewer and how I … Continue reading Docset Viewer: Resuming large downloads with NSURLConnection
Over the years my blog has transformed from the usual "Wordy geek ranting about first-world problems" content toward more educational and informative posts on what I do for a living: developing awesome iOS applications. I don't usually talk about the actual applications I'm writing though, since most of my work is on other people's apps … Continue reading Announcing Docset Viewer v1.1 for iPad and iPhone
For anyone who's developed exclusively with UIViews on iOS may take the title of this post a bit oddly. "WHAT?!" they might say, "Are you insane? Core Graphics is not only a C-only API, but has confusing function names, and needs way more code to do the same thing I can do in less code … Continue reading Core Graphics isn’t scary, honest!
As developers we spend most of our lives dealing with broken and barely-functional software: our own software. We do our best to make the applications we develop somewhat less broken and try to add features to make it functional. And once we finally get our software working bug-free and functioning stably, what do we do? … Continue reading Back To Basics: Simple debugging tips in Xcode
One of my pet peeves is Open Source iOS libraries distributed as just a collection of Objective-C classes, rather than being bundled as a static library. I know a lot of people prefer it that way, but from a maintainability standpoint it really doesn't make much sense to me. So when I'm faced with another … Continue reading Building a static library with Jenkins