Electron-builder: New helper apps on macOS in Electron v6

Created on 29 Jul 2019  ·  17Comments  ·  Source: electron-userland/electron-builder

  • Version: 🤷‍♂

  • Target: macOS

This is just a heads up that electron@6 will include two new "Helper.app" applications as a result of a Chromium change and builder needs to be updated to support those two new helpers.

Refs: https://github.com/electron/electron/issues/19500#issuecomment-515891941

electron-packager commit to handle the new files --> https://github.com/electron/electron-packager/commit/8d407e7b18c9e09f4590667fe28841f0ece974f7

feature mac

Most helpful comment

Thanks! 21.2.0 released.

All 17 comments

Any timeline on this?

guys, any timeline? thx!

@Kilian I did this changes, also added to moveHelpers but the same, app is crashing.

@Kilian @btzsoft there are many more places in that file where the new helpers need adding. (Ideally it should be refactored to make the code DRYer for so many helpers.)

@caesar I did it working right now, my mistake was that I haven't included (GPU) helper also.
I changed electronMac.js directly from node_modules until a new release will be here.
Thx!

@btzsoft can you share the code snippet?

@btzsoft @steverandy Or submit a PR? ;)

PR #4111

Thanks! 21.2.0 released.

@develar @Evoks
I upgraded from Electron5 to 6 (electron-builder to the latest version), when submitted via the Application Loader, it gives these error:

ERROR ITMS-90277: "Invalid Bundle Identifier. The application bundle contains a tool or framework Electron Helper (GPU) [fm.moon.apps.desktop.player.pkg/Payload/Moon FM.app/Contents/Frameworks/Moon FM Helper (GPU).app] using the bundle identifier 'fm.moon.apps.desktop.player.helper.(GPU)', which is not a valid bundle identifier." 

ERROR ITMS-90277: "Invalid Bundle Identifier. The application bundle contains a tool or framework Electron Helper (Plugin) [fm.moon.apps.desktop.player.pkg/Payload/Moon FM.app/Contents/Frameworks/Moon FM Helper (Plugin).app] using the bundle identifier 'fm.moon.apps.desktop.player.helper.(Plugin)', which is not a valid bundle identifier."

ERROR ITMS-90277: "Invalid Bundle Identifier. The application bundle contains a tool or framework Electron Helper (Renderer) [fm.moon.apps.desktop.player.pkg/Payload/Moon FM.app/Contents/Frameworks/Moon FM Helper (Renderer).app] using the bundle identifier 'fm.moon.apps.desktop.player.helper.(Renderer)', which is not a valid bundle identifier."

@gaodeng I suspect you should open a new issue for this. But for what it's worth, the issue you're seeing is caused by these lines:

https://github.com/electron-userland/electron-builder/blob/ebbd9f796e2d8d5b0720b2b699ba24dc159ee692/packages/app-builder-lib/src/electron/electronMac.ts#L102-L117

As you can see, the configureHelper function takes a postfix parameter which is used both in the filename of the helper app, and as the final part of the bundle identifier.
The postfix values being passed contain ( and ) characters which are invalid in the bundle identifier.

This function will need refactoring to avoid this.

Actually the whole of this file is pretty ugly… I started work a while back on refactoring the whole thing but I didn't have time to finish, and won't have time for at least several months more.

Still an issue for me with 21.2.0.

Still an issue for me with 21.2.0.

Happens to me too.

(I know posting a comment doesn't help, but since the thread is locked I wanted to bring some extra attention.)

Updating electron-builder to 21.2.0 and adding electron-packager did resolve this for me.
"electron-builder": "^21.2.0", "electron-packager": "^14.2.1",
FWIW, I was using electron 8.3.0 with this.

Was this page helpful?
0 / 5 - 0 ratings