electron-releases
electron-releases copied to clipboard
Request to extend support to include MAS target for native mac app store support
Currently only the darwin target is included for MacOS, it would be great if this could be extended with the 'mas' binary for mac app store support.
Thank you for your suggestion, I'll bring it up on the next planning meeting and we'll see if this is something that we can put on the roadmap.
Sorry for the delay in answering.
We have been discussing this internally and, from what we can tell, it will be difficult for us to provide a MAS enabled build. For example, the MAS guidelines, sections 2.4.5 and 2.5.2, state that "Apps should be self-contained" and may not "download, install, or execute code". These requirements are in conflict with the way the CDM binary is dynamically installed/updated and executed, which is another requirement we have to fulfil. This means the application will likely face rejection when it is submitted to the MAS, and Apple is not known to relax their restrictions easily, so getting an exception is probably difficult.
That said, none of us working on this have any direct experience with the MAS and if you are of a different opinion regarding the above conclusion, please let us know how/why and we’ll take it back under advisement.
Hi khwaaj, thank you for the feedback. Understandably there are app store restrictions that need to be taken into account, and personally I can not confirm if apple will fail or approve the above CDM logic. But I think the risk on this might be a decision that is preferably made by the party actioning the submission, as the party involved might actually make a custom arrangement with apple to approve such logic. It would be good to make a clear notice about the above though in the Readme if support would be added.
For anyone following this, v12.0.5-wvvmp includes experimental MAS artifacts:
This release includes experimental MAS artifacts to allow interested parties to try and get an application accepted into the Mac App Store. Because of technical & licensing limitations related to using the Widevine CDM, as well as rules prohibiting dynamically downloaded code in the MAS, there are reasons to believe that getting an app accepted will be a challenge (see #10 for additional information). Upcoming releases will not include these artifacts.
If an application using the new artifacts is accepted into the MAS, and there are no other unexpected issues, we may consider permanently adding MAS artifacts to our releases.
We are interested to know the results of any attempts to use these new artifacts to be able to make an informed decision on this topic going forward.
hi @khwaaj, In order to publish the application to the app store, i use v12.0.5-wvvmp in my project(base on electron-react-boilerplate) , but cannot work, May I ask what is the reason?
The error message is as follows
> cross-env NODE_ENV=development MAS=true electron ./internals/scripts/BabelRegister app/main/main.dev.js
node:events:353
throw er; // Unhandled 'error' event
^
Error: spawn electron EACCES
at Process.ChildProcess._handle.onexit (node:internal/child_process:276:19)
at onErrorNT (node:internal/child_process:476:16)
at processTicksAndRejections (node:internal/process/task_queues:80:21)
Emitted 'error' event on ChildProcess instance at:
at Process.ChildProcess._handle.onexit (node:internal/child_process:282:12)
at onErrorNT (node:internal/child_process:476:16)
at processTicksAndRejections (node:internal/process/task_queues:80:21) {
errno: -13,
code: 'EACCES',
syscall: 'spawn electron',
path: 'electron',
spawnargs: [ './internals/scripts/BabelRegister', 'app/main/main.dev.js' ]
}
@ywc6688, while this is certainly not something I'm familiar with, shouldn't there be an -r argument in between electron and ./internals/scripts/BabelRegister?
hi @khwaaj I Use https://github.com/castlabs/electron-releases/releases/tag/v12.0.5-wvvmp in mas-x64.zip package, Entitlements is configured with com.apple.security. App-sandbox true Failed to install Widevine components And <Error>: SeatBeltExecServer: Failed to Initialize sandbox: -1 Operation not permitted problem. Could you please help to check what might be the reason
Any updates on this? I'd love to be able to put our app on the Mac App Store but unfortunately this seems like a non priority.
You are right, it is not a priority since we have no indications that it will actually bear any fruit as it breaks the rules of the store.
Now that all stable releases have moved to using the Component Updater (at the request of Google) we have even less control over the installation of the CDM, so unfortunately we may need to declare this topic dead - unless new information and/or store rules comes to light.
Unfortunate but I see where your coming from, appreciate the response.