macOS Distribution Workflow
Purpose
Treat a signed exported artifact as the source of truth for macOS distribution diagnosis. This workflow distinguishes project/account provisioning from artifact trust: inspect the bundle, classify the failure, and use the minimum verifiable repair or release-validation path.
When To Use
- Use for
.app,.pkg, or disk-image distribution artifacts; signing state; entitlements; hardened runtime; nested signatures; Gatekeeper; notarization; stapling; and direct-distribution failures. - Do not use for ordinary Debug builds, account-side certificate/profile creation, or project signing-setting edits without an artifact diagnosis.
Single-Path Workflow
- Apply the Apple docs gate through
explore-apple-swift-docs. Confirm the distribution channel and current signing/notarization requirement before acting. - Identify the exact artifact, distribution channel, main executable, nested frameworks/helpers/extensions, signing identity, and observed user-visible failure.
- Read
references/artifact-inspection-and-classification.mdand inspect bundle structure, signature details, entitlements, nested code, and Gatekeeper assessment before prescribing a fix. - Classify the problem: unsigned/ad hoc signing, wrong identity, entitlement mismatch, hardened-runtime issue, nested-code ordering issue, sandbox issue, Gatekeeper assessment, or notarization/stapling readiness.
- Keep account-side provisioning with
apple-developer-provisioning-workflow; keep project signing or entitlement edits withxcode-build-run-workflow. Do not hand-edit/re-sign a built artifact as a first response to a project configuration problem. - For direct distribution, validate the outermost deliverable, notarization result, and stapling state appropriate to the chosen package shape. Keep local-debug validity distinct from distribution readiness.
- Report the inspected artifact, evidence, failure class, smallest repair path, and the validation that remains after repair.
Inputs
- exported artifact path and intended distribution channel
- signing identity/entitlement context and nested-code shape
- observed launch, Gatekeeper, notarization, or upload failure
- current Xcode/macOS version and any prior validation output
Outputs
- artifact inspection result and precise failure classification
- project, account, or artifact owner for the next repair
- minimum validation sequence and distribution-readiness state
Guards and Stop Conditions
- Do not call notarization necessary for a normal local Debug run.
- Do not invent entitlements, signing identities, or distribution certificates.
- Do not treat a project setting as verified until the exported artifact was inspected.
- Do not re-sign an artifact casually; re-signing can invalidate nested signatures, profiles, or a prior notarization result.
- Stop when the distribution channel, actual artifact, or signing evidence is missing.
Fallbacks and Handoffs
- Recommend
diagnose-apple-entitlementswhen source, profile, main or nested signed entitlements, and runtime authorization need a five-state comparison before choosing a repair owner. - Recommend
apple-developer-provisioning-workflowfor documented account-side certificates, profiles, and identifier/capability state. - Recommend
xcode-build-run-workflowfor entitlement/project-signing changes, archive/export, and build validation. - Recommend
explore-apple-swift-docsfor current signing, notarization, or distribution policy.
References
references/artifact-inspection-and-classification.md- Recommend
references/snippets/apple-xcode-project-core.mdwhen the app needs reusable Xcode-project policy alongside distribution work. - Packaging Mac software for distribution documents distribution packaging and notarization context.