venomous porridge
I’m Dan Wineman and sometimes I post things here.
You should follow @dwineman on Twitter, if you feel up to it.
You can even if that's what you're into.

Archive

Aug
13th
Fri
permalink

Tip: Keep old versions of iOS apps from being deleted

So Camera+ has been pulled from the App Store because it contained a useful but hidden feature that Apple didn’t like. Whether you agree with Apple’s motives or not, if you hadn’t bought the app yet, you can’t buy it now even if you want to. And when it comes back — if it comes back — it will be missing that feature. If you managed to download the version of Camera+ that has the forbidden feature, eventually an update will remove it and you’ll be out of luck. And it’s not the first time something like this has happened.

You can use Time Machine to resurrect old versions of apps if they’re still in your backup history, but that’s kind of fiddly, and Time Machine doesn’t maintain a permanent archive. Here’s what I do instead.

First, buy Hazel. Hazel isn’t free, but it’s well worth the investment: it’s a simple tool that, in addition to some nice Trash management features, has the ability to watch a folder and perform automatic tasks on any file that gets added to that folder. (If you’ve ever tried to do this kind of thing with the Finder’s Folder Actions and been frustrated, then you want Hazel. It’s Folder Actions that actually work.)

In this case, we’re going to watch the Trash for iOS apps, because that’s where iTunes puts the old version of an app when it downloads a new version.

  1. Open Hazel in System Preferences and go to the Folders tab. Click the + at the bottom left to add a folder to the list. In the file chooser, navigate to your home folder or press ⇧⌘H (shift-command-H).
  2. We want to select the Trash folder, but it’s actually named “.Trash”, which hides it from view by default. But it’s easy to show the hidden items; just press ⇧⌘. (shift-command-period). Find .Trash, select it, and click Open.
  3. Now, with .Trash selected on the left, click the + under the list of rules. Set up your new rule like this (click for bigger): (The “iPhone apps” folder can be anywhere on your drive; mine is in a Backups folder inside my home folder.)
  4. Click OK and close System Preferences.

Congratulations: now, whenever you update your apps and iTunes throws away the old versions, within a few seconds, Hazel will quietly pluck them from the Trash and move them to the folder you specified. After an unwanted update, you can reinstall the old version of an app by deleting the new one from your phone, dragging the old one onto iTunes, and syncing.1

Enjoy your forbidden features, and stay away from that Download All Free Updates button. (But if you slip up and update an app by mistake, now you know how to fix it.)


  1. This procedure will delete the app’s data. Unfortunately, I don’t think that’s avoidable using iTunes, because iTunes won’t install an older version of an app over a newer one. You can force an install (while preserving your app data) by using the Xcode Organizer with a provisioned device, but let’s be honest: if that’s the kind of game you’re playing, you don’t need my help. 

Comments (View)
blog comments powered by Disqus