I’m Mike Nachbaur

I’m a mobile software developer, specializing in iOS but also dabbling in Android. One of my passions is in mentoring and sharing my knowledge; I find I learn more about a topic when I teach it to someone else. So this site lets me do that, as well as directing colleagues and co-workers to articles here to save me from having to repeat myself.

My other passion is my family, which is extremely important to me, as is maintaining a healthy work / life balance. As a result, I work remotely from home, or wherever I happen to be traveling to, with my wife and daughter. So on occasion you may see non-developer posts about my life, since my family is somewhat migratory.

Feel free to subscribe to receive updates, or leave me a comment if there’s something you’d like to know more about!

Latest posts:

Working with multiple architectures & compiled binaries- When working with iOS apps (or really anything within Apple’s ecosystem) I’ve sometimes found the need to deeply introspect the libraries and executables built in my project to answer questions like “Is bitcode enabled for all architectures?” or “Which architectures was this binary compiled for”, and so forth. These aren’t easy questions to answer unless … Continue reading Working with multiple architectures & compiled binaries
In defence of Apple’s bug process- Everyone has a love/hate relationship with bug reports. For the user, they’re a nuisance to file. For the engineer receiving a bug report, it means extra work and the sad realization that your product isn’t perfect. I’ve been frustrated with Apple’s handling of bug reports just as much as everyone, but haven’t really thought much … Continue reading In defence of Apple’s bug process
LLVM Module Maps to the rescue!- 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!
Cocoa Dynamic Frameworks- 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
Rebooting my blog, again- I feel that every few years I write a post like this. It’s filled with statements like “Life got busy”, or “I had a problem with my server and didn’t notice”, or some other reason that seems insignificant in the grand scheme of things. This time around though I have a very good reason for … Continue reading Rebooting my blog, again
Forcing a method to run on the main thread- 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
Don’t live to work…- Many people have heard the phrase “Don’t live to work; work to live”.  This usually means that the goal of working should be to enable you to live your life, rather than allowing work to consume your life.  Far too many people in the tech industry sacrifice their families, spouses, children, and even their sleep, … Continue reading Don’t live to work…
Docset Viewer update v1.5- The past year has been quite a ride, to say the least! I have been so busy with work, creating awesome features and technologies on iOS apps that over a year has raced by without an update to my blog! I’ve also been neglecting my own apps due to being so overwhelmed with the requirements … Continue reading Docset Viewer update v1.5
My App Store release checklist- For the longest time it seemed that releasing an update to an iOS app was a random whack-a-mole process that I’d invariably get wrong in some way.  It was maddening, especially since iTunes Connect has only recently become a decent web application.  By switching to Jenkins for continuous integration of my iOS app builds I’ve … Continue reading My App Store release checklist
Logging with CocoaLumberjack and TestFlight- 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