Prepare a Mac application for release
Separate a successful build from an unsigned package, a signed artifact and an approved distribution.
Need Windows or Linux?#
McBasic™ runs on Mac and exports DesktopApp projects for Mac, Windows and Linux. This page covers Mac packaging; use the six-target publishing guide for the support matrix, commands and platform limitations.
Make the source reproducible#
Commit the intended source and dependency lockfile. Set the application identity, version and build number in the project. Confirm the target architecture and test with a fresh data directory. An app that only works with a developer’s existing database is not ready for distribution.
Build and inspect the artifact#
mcbasic check HelloForms.mcproj
mcbasic build HelloForms.mcproj --configuration Release
mcbasic publish HelloForms.mcproj --rid osx-arm64 --format app --publication-profile mac-compatibleFor an Intel target use osx-x64 only when the project and dependencies support it. Read the actual output path reported by the command; do not assume a path from a different build. Publish creates a local unsigned self-contained application, not an App Store submission.
Test outside the development workflow#
- Launch the built application and exercise its startup path.
- Confirm images, report definitions, media and migrations are packaged.
- Test writes in the application data location and a user-selected destination.
- Try offline operation, a failed request and cancellation.
- Check resize, keyboard flow and the smallest supported window.
Keep distribution gates separate#
The distribution tooling has explicit preparation, signing, verification and Apple-contact steps. Preparation alone is not signing; signing alone is not notarization; notarization alone is not an App Store approval. Use the selected public distribution profile and review each artifact before advancing.
McBasic™ and your applications are different releases#
McBasic™ itself is planned for the Mac App Store. That distribution plan does not imply that every application created with McBasic™ is already eligible, submitted or approved. Your application has its own identity, data practices, entitlements and release requirements.
20f4bfed6b · Build manifestSources & maintenance
Original web explanation, reviewed against these repository sources. API tables and example files follow the implementation.
docs/manual/33-publishing-for-windows.mddocs/manual/34-publishing-for-linux.mdsrc/McBasic.Build/PublishTargets.cssrc/McBasic.Build/PlatformAvailabilityCheck.cssrc/McBasic.Runtime/McPlatformAvailability.cs