How to codesign against the executable binary by 'Go' language

Hello,


I'm stucked at codesigning on a binary that is built with 'Go' language for Mac app.


The 'Go' binary works as far as 'not signed'. But 'signed' binary does not work.


Reference: https://github.com/atom/electron/blob/master/docs/tutorial/mac-app-store-submission-guide.md


Based on the code above, I used the following bash script (excerption) for codesigning:

codesign --deep -fs '<my app sign title>' --entitlements child.plist '<app path>/Contents/Frameworks/Electron Framework.framework/Libraries/libnode.dylib'
codesign --deep -fs '<my app sign title>' --entitlements child.plist '<app path>/Contents/Frameworks/Electron Framework.framework/Electron Framework'
codesign --deep -fs '<my app sign title>' --entitlements child.plist '<app path>/Contents/Frameworks/Electron Framework.framework/'
EnnoMac-darwin-x64/EnnoMac.app/Contents/Frameworks/Electron Framework.framework/: replacing existing signature
codesign --deep -fs '<my app sign title>' --entitlements child.plist '<app path>/Contents/Frameworks/EnnoMac Helper.app/'
codesign --deep -fs '<my app sign title>' --entitlements child.plist '<app path>/Contents/Frameworks/EnnoMac Helper EH.app/'
codesign --deep -fs '<my app sign title>' --entitlements child.plist '<app path>/Contents/Frameworks/EnnoMac Helper NP.app/'
codesign --deep -fs '<my app sign title>' --entitlements child.plist <app path>/Contents/MacOS/Electron
codesign        -fs '<my installer sign title>' --entitlements parent.plist <app path>

(<> are placeholders)

Note that I embedded (line 8) the Go binary named 'EnnoMac' under '<app path>/Contents/MacOS/'. The Go binary launches Electron.js GUI framework.


The script finishes without errors.

But the signed app freezes when launched.

I'd be very glad if some of you provide even a small hint for resolution. I guess the arguments in line 08 needs some adjustments.


Best regards,

How to codesign against the executable binary by 'Go' language
 
 
Q