electron / forge

:electron: A complete tool for building and publishing Electron applications
https://electronforge.io
MIT License
6.32k stars 489 forks source link

Codesigning works on M* Mac but not on Intel Mac #3563

Open drixie opened 2 months ago

drixie commented 2 months ago

Pre-flight checklist

Electron Forge version

6.0.5

Electron version

24.8.6

Operating system

macOS 12.2.1

Last known working Electron Forge version

No response

Expected behavior

Signed and notarized builds generated for both M1 Mac and Intel Mac

Actual behavior

Build is signed and notarized for M1 Mac. Build fails on Intel Mac with a error code related to notarization. Further investigation revealed that this is because codesigning never happened. I never received an error about this. I noticed after disabling the notarization config and running "codesign -dvvv" on the generated build. I am using the same signing certificates and same electron forge configs on both machines

Steps to reproduce

Try to generate, codesign, and notarize a build on both M* and Intel Macs using the same signing certificate

Additional information

Just wanting to know if some has experienced something similar before and what they did to resolve it

drixie commented 2 months ago

On the Intel Mac, I noticed it never asks this question which it asks on the M1 Mac.

codesign wants to access key "Mac Developer ID Application: {Developer name}" in your keychain

This might be the failure point. I noticed the question came up when using electron-builder which successfully signed the app on the Intel Mac (confirmed with codesign -dvvv) but the app is broken (something to do with the resolution of internal file paths I presume)

Perhaps there's a config setting that should ensure this question comes up or the request is automatically allowed?

VerteDinde commented 2 months ago

@drixie Does this behavior reproduce with the default Forge app? I wasn't able to repro on an Intel environment with the default app, trying to get a better understanding of what might be failing.