Reinstalling the dmg works just for one day or less
OK, let’s start with some facts…
The system presents this alert when it’s unable to run the app’s main executable. For example, in one case I saw this on Apple silicon because the app was build for arm64e
rather than arm64
[1]. The most common cause, however, is that the app’s code signature is broken.
And now we’re going to veer off into speculation…
My understanding is that Eclipse completely ignores Apple’s long-standing prohibition of self-modifying apps. I suspect that this issue has not been resolved in the intervening years, meaning that the app modifies itself and thus breaks its own code signature. It’s likely that this is triggering a problem within macOS’s trusted execution subsystem.
This would explain the behaviour you’re seeing. The app on the disk image is signed correctly, and so works immediately after you copy it off. Some time after that it modifies itself, which breaks the seal on the app’s code signature, and thus you see this problem.
And finally, a concrete test…
Try this:
-
Copy the app off the disk image.
-
Verify the code signature of that copy using:
% codesign -v -vvv --deep /path/to/the.app
-
Run with that app.
-
When the problem rears its ugly head, repeat step 2. Does the signature still verify?
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
[1] Apple silicon Macs only support third-party arm64e
for kernel extensions.