apple build --platform macos: apple.macos.prebuild, not the iOS project's build.prebuild

This commit is contained in:
CRTkafa 2026-11-04 00:17:04 +07:00
parent 700fcc4d66
commit 64cb16e337
4 changed files with 22 additions and 6 deletions

View file

@ -162,9 +162,12 @@ export async function run(ctx: Ctx, platform: string = process.platform): Promis
const overlay = tauriOverlay({ appIdentity, entitlementsFile: entFile, profile, version, build: buildNo, unsigned, minOs: tauri.minOs, category });
const input = { tauri, tauriCmd, target, out, configFile, entitlementsFile: entFile, profile, appIdentity, installerIdentity: installerIdentity ?? '<Mac Installer Distribution identity>', version, build: buildNo, unsigned, pathFree, pkg };
const steps = masSteps(input);
// the same hooks as apple build: build.prebuild / apple.prebuild first (a project computes its build-time env there),
// apple.macAppCheck on the built .app before productbuild (e.g. a project's own check that a value was stamped in)
const prebuild = prebuildFor(config, 'apple') ?? null;
// apple.macos.prebuild first (a project computes its build-time env there), apple.macAppCheck on the built .app before
// productbuild (e.g. a project's own check that a value was stamped in). build.prebuild / apple.prebuild belong to the
// iOS / Android project (a Capacitor sync, an OTA gate) and are not run for a Tauri Mac build
const prebuild = config.apple?.macos?.prebuild?.trim() || null;
const mobilePrebuild = prebuildFor(config, 'apple');
if (!prebuild && mobilePrebuild && !json) log(TAG, `not run for the Mac build: ${mobilePrebuild} (build.prebuild / apple.prebuild are for the iOS project; set apple.macos.prebuild for the Mac)`);
const prebuildSkip = !prebuild ? undefined : a.has('no-prebuild') ? '--no-prebuild' : prebuildsDone().has(prebuild) ? 'already ran in this flow run' : undefined;
const appCheck = config.apple?.macAppCheck?.trim() || null;
// entitlements: --entitlements, apple.macos.entitlements, the merged Tauri config (the first one that is set)