Even when setting "tool":"notarytool" still get the legacy warning
My notarize script is this:
return await notarize({
tool: 'notarytool',
appPath: `${appOutDir}/${appName}.app`,
appleId: process.env.APPLE_ID,
appleIdPassword: process.env.APPLE_APP_SPECIFIC_PASSWORD,
teamId: process.env.APPLE_TEAM_ID,
})
Yet I still get the following warning in the output:
Notarizing using the legacy altool system. The altool system will be disabled on November 1 2023. Please switch to the notarytool system before then.
You can do this by setting "tool: notarytool" in your "@electron/notarize" options. Please note that the credentials options may be slightly different between tools.
I guess must be a bug in validating that the warning must b shown only when tool is either empty or legacy.
Try the direct notarize integration within electron-builder. See builder's issues: #7683 for more details.
Try the direct notarize integration within electron-builder. See builder's issues: #7683 for more details.
Thanks for the reply... how do I directly notarize using notarytool from my package.json? what is that direct notarize integration?
Direct notarize integration means running the notarization process in electron-builder instead of @electron/notarize.
Why not just run the build script in Node.js instead of package.json? For example, like this:
require("electron-builder").build({
config: {
/** ... */
},
});
$ node ./builder.js
Code completion in VSCode also works, so it's easy to write.
We use npm with some scripts already on a CI, changing our package.json to direct node would mean quite a bit of refactoring, I would have hoped that instead we could just have @electron/notarize work as intended. But from what you mention I guess that won't happen before altool is EOL
https://github.com/electron-userland/electron-builder/issues/7683#issuecomment-1724537409
I'm still having this problem and now it doesn't work at all. My config is:
return await notarize({
appPath,
teamId: process.env.APPLE_TEAM_ID,
appleId: process.env.APPLE_ID,
appleIdPassword: process.env.APPLE_PASSWORD,
});
I think this should be fixed as the legacy implementation was removed in #187