Closeby 1.0

A new app I created called Closeby is now available on the App Store. It uses your address book to tell you how far you are from people you’ve saved addresses for. Closeby is great if you’re visiting a town you don’t live in, are stumbling home from a bar and need the closest couch to crash on (I take no responsibility for the damage this does to your personal relationships), or just want to see all your friends addresses on a map.

Manton’s Follow-Up on Sandboxing

Manton Reece, on sandboxing for Mac apps:

I’ll admit I have some regret leaving the Mac App Store. It’s just so convenient for purchasing and installation. If I’m going to make this work, I’ll have to redesign my own rather clunky purchase and activation experience. And I’ll have to do a much better job of marketing, something that has not been easy with Clipstart.

I don’t envy anyone who’s facing this problem. I feel like Apple needs to rethink what they’re trying to do with Sandboxing; giving developers more time is not the answer. The problem is that to many useful apps just aren’t going to work with sandboxing, and others are going to need to compromise their users experience in order to accommodate it. I think of Apple has a company who puts the experience of their users first. Forcing apps to fit into a mold this restrictive is forcing them to implement work arounds for things that were never a design problem to begin with, or be left out of the biggest venue to get their app in front of the majority of users.

Xcode Build Script for Automatically Updating CFBundleVersion

Since Git doesn’t create numeric build numbers, I haven’t known exactly what to do with my app’s bundle version (CFBundleVersion) since switching to it. According to Apple CFBundleVersion needs to be “a monotonically increased string, comprised of one or more period-separated integers.” My previous (bad) solution was to sort of ignore this and just update when I release a new version. Now that I’ve started using Hockey for beta relases, it requires a unique number for every build, so I need to start paying more attention to it. It’s for the best since it’s better to give this number some significance.

I didn’t want to have to update this manually every time I send a beta build, so I started looking for an Xcode build script that could generate something like this for my ad hoc and App Store builds. Since I didn’t really like any of the code I saw, I decided to write my own using Python, and while I was at it set it to also commit and tag the build in Git.

You can add this as a “Run Script” build phase in Xcode (make sure you set the shell to /usr/bin/python). The only line you should need to update is configurations_list = ['Beta', 'App Store'] to be the names of the configurations you want this to run under. You’ll also need to set your CFBundleVersion to a start point that’s a whole number (0 for example). If you want this to work with a different SCM, just update the os.system lines to run the right commands for your system (or take them out all together if you don’t want that feature at all). For a configuration called App Store, I have the commit message set to be “Automated Commit For Build 25. Configuration: App Store.”, and the tag to be “AppStore_25”. You can change that if you like.

Of course, I take no responsibility if anything bad happens to your project, but it seems to be working great for mine.

Update: There’s a bug where this will cause simulator builds to fail if you don’t set your “Mac OS X Deployment Target” to 10.7 in your build settings.

MacDrifter on Switching to BBEdit

MacDrifter:

It was worth the investment. I don’t mean just monetarily. I invested many hours into BBEdit and I’m sure there are many more to come. But it was worth it. I have an environment that I feel productive in.

It’s been my default editor for a couple of months now, and I thought this was a really good in-depth post about the pros and cons of BBEdit.

Still Using Siri

Marco Arment responding to Boris at The Next Web on Siri

But I still use Siri. My wife still uses Siri. Last night at dinner, my friend used Siri. I don’t think Boris and his friends are a representative sample.

Count me in as well. I use Siri all the time for setting timers, sending text messages and looking things up. A lot of times it’s just faster for me to talk than type. I’ve also seen nowhere near the 50% failure rate Marco reported. If I did, I’d probably use it a lot less.