Apple signed binaries

This commit is contained in:
Pedram Amini
2025-12-12 18:27:06 -06:00
parent db2fc1a7ca
commit b8d557e7c2
6 changed files with 127 additions and 81 deletions

34
scripts/notarize.js Normal file
View File

@@ -0,0 +1,34 @@
const { notarize } = require('@electron/notarize');
exports.default = async function notarizing(context) {
const { electronPlatformName, appOutDir } = context;
// Only notarize macOS builds
if (electronPlatformName !== 'darwin') {
return;
}
// Skip if not signing (CI without credentials, etc.)
if (process.env.CSC_IDENTITY_AUTO_DISCOVERY === 'false') {
console.log('Skipping notarization: CSC_IDENTITY_AUTO_DISCOVERY is false');
return;
}
const appName = context.packager.appInfo.productFilename;
const appPath = `${appOutDir}/${appName}.app`;
console.log(`Notarizing ${appPath}...`);
try {
await notarize({
appPath,
appleId: process.env.APPLE_ID,
appleIdPassword: process.env.APPLE_APP_SPECIFIC_PASSWORD,
teamId: process.env.APPLE_TEAM_ID,
});
console.log('Notarization complete!');
} catch (error) {
console.error('Notarization failed:', error);
throw error;
}
};