I am also facing similar issue but reached a step ahead after lots of research.
After signing the helper process with following entitlements, it is no more crashing
- Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.inherit</key>
<true/>
</dict>
</plist>
After this step, helper process is there but main process throwing following error:
[0912/192643.858474:ERROR:mach_port_broker.mm(100)] bootstrap_check_in: Permission denied (1100)
[0912/192643.873311:ERROR:mach_broker_mac.mm(52)] Failed to initialize the MachListenerThreadDelegate.
After digging further I found out, this is something main process and child process are not able to setup IPC communication channel due to insufficient privileges and most of the Chromium-based application like you have already mentioned Electron, Nw.js are mentioning to add App-group entitlements in your main application like below
- Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.application-groups</key>
<string>TeamID.your.app.bundle.id</string>
</dict>
</plist>
Where team ID is available in your app store account or development Certificate but even after doing this step same error is still there.
After further digging, I found this article
https://mediaarea.net/blog/2018/02/14/QtWebEngine-MacAppStoreAccording to this article, we might need to change some code in chromium code base where they have base bundle ID so it seems like we need to build the CEF on our own to fix this error.
I hope @magreenblatt can put more light on this issue.