Your Mac and Windows builds, next to your mobile builds
Pro and Team
Many mobile apps have a Mac or Windows companion: a desktop client, an admin tool, a kiosk app. Testers of those usually get a file in a chat or a shared drive, with no version, no notes and no way to know whether it is signed.
On Pro and Team, desktop builds use the same upload, link, QR code, release notes, channels, password and link controls as your iOS and Android builds. The page shows a download button and the facts read from the file.
Example
Acme Desktop 1.8.0, macOS
- FileAcme-1.8.0.zip, 84 MB, SHA-256 shown
- SignatureDeveloper ID Application: Acme Inc
- Notarization ticketStapled
- Architecturesarm64, x86_64
Made for
- Teams with a Mac or Windows app next to their mobile app
- Agencies that deliver desktop builds to clients for review
- Teams that moved from App Center and shipped desktop builds there
What it ends
- Desktop builds in a shared drive with no version or notes
- Testers who cannot tell whether a file is signed or notarized
- A second tool only for the desktop app
How it works
Step 1
Upload the file
macOS .dmg, .pkg or a .zip with one .app inside; Windows .msix, .msixbundle, .appx, .appxbundle or .msi. From the dashboard, the CLI, CI or the MCP server.
Step 2
Share the link
Testers open the page on a computer and press Download. A phone sees a note to open the page on a Mac or Windows computer.
Step 3
Read the signing check
The build page flags an unsigned, ad hoc signed, not Developer ID or not notarized Mac build, and an unsigned Windows package.
What the page reads from the file
For macOS: bundle ID, version, minimum macOS, architectures, the signature (Developer ID, another Apple certificate, ad hoc or unsigned) and its signer, and whether a notarization ticket is stapled (for a .dmg and a zipped .app). A .dmg's name and version come from its file name, and the page says so.
For Windows: package name, publisher, version and whether the package is signed. The facts are read on our servers, with no call to Apple or Microsoft.
Same tools as mobile
Channels get a macOS and a Windows head next to iOS and Android, and the in-app update check takes platform=macos or platform=windows. Every desktop file goes through the malware check, like mobile builds.
Good to know
- No .exe files: package the app as .msix or .msi instead.
- AppForShare does not sign or notarize desktop apps and cannot tell you in advance what Gatekeeper or SmartScreen will say; that depends on your signature and notarization.
- Not on Free or for uploads without an account. AppForShare still shares builds of apps only, not other files.
Questions
- Which file types work?
- macOS .dmg, .pkg and a .zip with one .app; Windows .msix, .msixbundle, .appx, .appxbundle and .msi.
- Does AppForShare notarize my Mac app?
- No. Sign and notarize it before you upload. The page shows whether a ticket is stapled.
- Why is .exe refused?
- Plain executables are a common way to pass on harmful software. Package the app as .msix or .msi.
- Which plan do I need?
- Pro or Team.
Read next
Try it on your own app
Free account in a minute. Pro starts with a 7 day free trial.
More features
- Builds on GitHub Actions
- Flutter builds on GitHub Actions
- Flutter facts and checks
- Security scan on every build
- Connect Expo (EAS builds)
- Connect Codemagic
- Send store builds to TestFlight and Google Play
- TestFlight groups and beta review on send
- TestFlight feedback in your inbox
- iOS device registration
- Hands free device setup
- Store listing editor
- App Store submission
- Google Play releases
- TestFlight tester sync
- Tester app with notifications
- Tester groups and status
- Join links for testers
- Beta and Live channels
- Build history page
- Tasks and activity feed
- Feedback to Linear and Jira
- Release checklist, approvals and blockers
- Release page per version
- Install link controls
- Several links per build
- Retire a test build
- TestFlight and APK in one link
- Install page in 13 languages
- In-app update check
- .aab uploads
- MCP server for AI tools
- Tester feedback with screenshots
- In-app feedback link
- AI test plan for each build
- Diawi compatible upload API
- Remember my iPhone
- Install help and why it failed
- Email the install link
- Custom channel address
- Verified publisher
- Daily install email
- Zipped .app upload
- Manage link for guest uploads
- Test accounts on the install page
- Telegram notifications
- Permissions in plain words
- Reply to testers and star ratings
- Follow a channel by email
- Download button for a README
- Store pages
- Check a build before upload
- Token scopes and CLI tools
- Upload from Claude or ChatGPT
- Passkeys and email code sign in
- Free build tools
- How reports work
- Malware check on every upload
- Re-sign iOS builds
- Single sign on (SAML and OpenID Connect)
- Require two step sign in
- Send to Microsoft Intune
- Choose where build files are stored
- Workspace address
- Automatic clean up of old builds
- Tester email from your own mail server
- Webex notifications