1

I made an application with Processing that I exported to a .app file. It works just fine on my computer. When I download my app from the Internet and try to open it, I get the following message:

MyApp.app is damaged and can't be opened. You should move it to the trash.

As users on this site have noticed, many Apple certificates expired on 11/11/2015, making it impossible to run these applications if Gatekeeper is enabled. Processing seems to be signing with expired signatures as well. How do I remove these signatures?

  • It depends on whether you are signing the app. You could try sending a version that's not signed and have the user opt out of gatekeeper for that app or entirely to test things. – bmike Nov 12 '15 at 20:21
  • @bmike Ok, so after turning off gatekeeper, the downloaded app works fine. When I export a Processing sketch to a .app file, Processing says it is self-signed. As such, why am I getting the "app is damaged" messaged instead of "unidentified developer"? – geokavel Nov 12 '15 at 21:45
  • @bmike So, I'm guessing the Processing certificate is expired just like the other certificates that expired today. Do you know how I can make my own certificate and sign the .app file with that? – geokavel Nov 12 '15 at 22:19
  • @bmike Ok, I figured out how to make a certificate. The problem is Processing can only export signed apps, but the certificate is bad. When I try to sign them with my certificate it says "MyApp.app is already signed". Is there a way for me to unsign the app? – geokavel Nov 12 '15 at 22:31
0

An application in the form of a .app file is actually a folder containing lots of different files and folders that make up the resources of the application. To keep them all nice and tidy for Mac OS X, you can bundle them all together in a Disk Image .dmg file which can more easily be manipulated by non-Mac systems without getting the details messed up when brought back to the Mac.

Some quick directions copied from a reference listed later:

  • Make a folder with the files your DMG will contain.
  • Open Disk Utility (It's in /Applications/Utilities/)
  • Go to File > New > New Image from Folder (Cmd + Shift + N)
  • Choose the folder containing you files
  • Make sure "Compressed" is checked, then set where you want to save the created DMG

You can create the DMG file out of the .app file directly since the .app file is already a directory.

More detailed info about alternatives and command line directions are at https://stackoverflow.com/questions/367751/creating-a-dmg as well as http://blog.nngafook.com/2012/07/app-to-dmg/

  • Darn it, I really thought this would work, but now I get "MyApp.app is damaged and cannot be opened. You should eject the disk image." – geokavel Nov 12 '15 at 19:08
  • If you zip up the dmg does that work? – j-beda Nov 13 '15 at 19:30
  • I don't think that's what's causing the problem I'm having. See the linked article (on the right-hand side) and my update. – geokavel Nov 13 '15 at 19:37
  • Good work - looks like you have identified the issue - now I suppose we should clean up the question as well as the answer so it is a useful resource for people with similar problems. – j-beda Nov 16 '15 at 13:45
0

You can use the unsign tool on the executable file inside the MyApp.app package. After downloading the .zip file, to compile the binary go to Terminal and enter cd ~/Downloads/unsign-master (or wherever you extracted the zip file), then enter make. Next enter sudo cp unsign /usr/bin/unsign. Next find my MyApp.app in Finder. Then type cd, type a space, and then drag MyApp.app into the Terminal, and push enter. Then enter cd Contents/MacOS. Next enter unsign MyApp MyApp. Now your app no longer has a signature. When users try to open it, they will get an "Unidentified Developer" message. Therefore tell them to right-click on it and select "Open" to be able to open it.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .