Software that isn’t signed by an identified developer can cause headaches for open source projects when upgrading an application bundle in OSX. While working with the Arduino Due the first time, I downloaded 1.5 Beta of the Arduino IDE and encountered this error:
“Arduino” is damaged and can’t be opened. You should move it to the Trash.
Here’s why you see the “… is damaged and can’t be opened” dialog and how to fix it.
One of the features Apple introduced with Mac OSX 10.8, Mountain Lion, was named Gatekeeper. This is a security setting that enables users to select what kind of software can run on their Mac. The options are to allow applications from:
- Mac App Store
- Mac App store and identified developers
The default setting for Mountain Lion is #2. Fortunately Apple has provided a work around for unsigned software when using level 2. The work around is to right-click and select “open” then confirm with the dialog’s “Open” button. Since much open source software is compiled from unsigned developers this workaround comes in handy. Unfortunately, like in the case of the Arduino IDE, this is problematic when you download a new version of the application bundle. That’s when Gatekeeper gets in the way. Since the previous version’s bundle was signed locally, Gatekeeper is concerned because the new bundle has changed.
How to Fix It
Fixing this error is relatively easy and applies to any unsigned software that you trust.
Obviously the Application isn’t damaged and since I trust the software in this case I wanted to find a way to get the software running. The method is relatively simple.
Turn Gatekeeper Off (Temporarily)
- Go to System Preferences, then Security & Privacy
- Unlock the control panel
- Change “Allow applications downloaded from:” to “Anywhere”
(whatever application is giving you trouble)
Turn Gatekeeper On
- Change the setting back to “Mac App Store and identified developers”
This setting / workaround should be persistant until your next upgrade.