forked from boos/BoosAPI
6c51801e50
- Implemented afterPack script to ensure ad-hoc signature for macOS builds. - Created macosSignUtils module to handle app path retrieval, signature inspection, and ad-hoc signing. - Added functions to check if the app is signed and apply ad-hoc signing if necessary.
31 lines
1.1 KiB
JavaScript
31 lines
1.1 KiB
JavaScript
import { notarize } from '@electron/notarize';
|
|
import { ensureAdHocSignature, getMacAppPath } from './macosSignUtils.mjs';
|
|
|
|
export default async function afterSign(context) {
|
|
if (context.electronPlatformName !== 'darwin') return;
|
|
|
|
const appPath = getMacAppPath(context);
|
|
const appleId = process.env.APPLE_ID || process.env.APPLEID;
|
|
const appleIdPassword = process.env.APPLE_APP_SPECIFIC_PASSWORD || process.env.APPLEIDPASS;
|
|
const teamId = process.env.APPLE_TEAM_ID;
|
|
const signature = await ensureAdHocSignature(appPath);
|
|
|
|
if (!appleId || !appleIdPassword || !teamId) {
|
|
console.log('[metapi-desktop] Skipping notarization: APPLE_ID / APPLE_APP_SPECIFIC_PASSWORD / APPLE_TEAM_ID not fully configured.');
|
|
return;
|
|
}
|
|
|
|
if (signature.isAdHoc) {
|
|
console.log('[metapi-desktop] Skipping notarization: macOS app is only ad-hoc signed. Configure a Developer ID certificate to enable notarization.');
|
|
return;
|
|
}
|
|
|
|
console.log('[metapi-desktop] Notarizing macOS build...');
|
|
await notarize({
|
|
appPath,
|
|
appleId,
|
|
appleIdPassword,
|
|
teamId,
|
|
});
|
|
}
|