We created this utility to demonstrate modern workflow for Electron and OSX notarized apps
One of the toughest challenges for publishing an electron app to OSX is notarizing. Luckily there are some great utilities out there to help.
For GifCake, we are using Electron-Notarize
Setting up is painless, first we create a script file to handle the details
"scripts/notarize.js"
require('dotenv').config();
const { notarize } = require('electron-notarize');
exports.default = async function notarizing(context) {
const { electronPlatformName, appOutDir } = context;
if (electronPlatformName !== 'darwin') {
return;
}
const appName = context.packager.appInfo.productFilename;
return await notarize({
appBundleId: 'com.silluron.gifcake',
appPath: `${appOutDir}/${appName}.app`,
appleId: process.env.APPLEID,
appleIdPassword: process.env.APPLEIDPASS,
});
};
Then modify your package.json file with a few extra options
"build": {"dmg": {"sign": false }, "afterSign": "scripts/notarize.js","extraResources": ["./extraResources/**"] },
That's it!
Not too painful. You can check out the whole project at https://github.com/asilluron/gif-cake
Comments