Docs
macOS and Windows builds
Share test builds of your Mac and Windows apps the same way as your iOS and Android builds: one link and QR code, release notes, channels, a password, link controls and analytics. Pro and Team.
Accepted file types
- macOS
- .dmg, .pkg, and a zipped .app (a .zip whose one top level .app has Contents/Info.plist)
- Windows
- .msix, .msixbundle, .appx, .appxbundle and .msi
No .exe files. Upload from the web, the CLI, the CI API or the MCP server, exactly as for mobile builds.
What the install page shows
On a computer, a Download button ("Download for macOS" or "Download for Windows"), the size and the SHA-256 so testers can check they got the file you uploaded. On a phone, the page asks the tester to open it on a Mac or a Windows computer. The facts below are read from the file on our servers, with no call to Apple or Microsoft.
- macOS
- Bundle ID, version, minimum macOS, architectures, the signature (Developer ID, another Apple certificate, ad hoc, or not signed) and the signer, and whether a notarization ticket is stapled to the file (.dmg and zipped .app; not read for .pkg).
- Windows
- Package name, publisher, version, and whether the package is signed.
A .dmg's name and version come from the file name, because the disk image contents are not read. The page says so.
Signing check
The build page lists signing findings with how to fix each:
- macOS: not signed. macOS blocks unsigned downloads by default, so testers have to allow the app by hand.
- macOS: ad hoc signed. An ad hoc signature has no certificate behind it, so other Macs treat it like an unsigned download.
- macOS: not Developer ID. A development or App Store certificate does not open on Macs outside your team without a manual step.
- macOS: no notarization ticket in the file. The tester's Mac then looks the app up with Apple when the file is opened, and blocks it if it was never notarized.
- Windows: not signed. Windows does not install an unsigned MSIX or APPX package unless developer mode is on, and SmartScreen warns about an unsigned installer.
Help for testers
The install page shows short help in the tester's language:
- macOS: open the .dmg and drag the app into Applications; a .pkg opens the installer. If macOS says the app cannot be opened, open System Settings, Privacy and Security, and choose Open Anyway next to the app name.
- Windows: open the .msix or .appx to install it with App Installer; an unsigned package needs developer mode in Settings, System, For developers. If SmartScreen warns about the file, choose More info and then Run anyway, only if you trust who shared it.
What macOS or Windows decides depends on how the file is signed and on the tester's own settings, so a signed and notarized file is the smoothest path.
CLI, channels and the update check
appforshare upload takes desktop files like any build. Channels have a macOS and a Windows head next to iOS and Android, so one channel link serves each platform its newest build. The update check accepts platform=macos and platform=windows; see update check.
npx appforshare upload Shop-2.4.0.dmg --channel beta --notes "New sidebar"
npx appforshare upload Shop.msix --channel beta
# update check from inside the app
GET https://appforshare.io/api/c/YOUR_CHANNEL/latest?platform=macos
GET https://appforshare.io/api/c/YOUR_CHANNEL/latest?platform=windowsQuestions
- Which plans include desktop builds?
- Pro and Team. They are not available on Free or for uploads without an account. The plan's file size limit applies: 2 GB on Pro and 4 GB on Team.
- Can I upload an .exe?
- No. An .exe is refused with a hint: package the app as .msix or .msi and upload that.
- Does AppForShare sign or notarize my app?
- No. Sign and notarize it as you do today. AppForShare reads the signature and the stapled ticket from the file and tells you what testers will likely see.
- Why does a .dmg show the name and version from the file name?
- The contents of a disk image are not read, so the name and version come from the file name, and the page says so. Name the file like Shop-2.4.0.dmg.
- Is the malware check run on desktop files?
- Yes. Every desktop file gets the same malware check as a mobile build.
- Can I share any file this way?
- No. AppForShare is for builds of apps. Only the macOS and Windows package types above are accepted.
Overview: macOS and Windows builds. Related: distribute a macOS app to testers, distribute a Windows app to testers, upload from CI.