TL;DR — Eight gotchas we hit shipping Wallnetic to the Mac App Store — most preventable, none individually huge, but together they cost us a full review cycle.
1. Screenshot specs change quietly
The required screenshot sizes Apple lists in App Store Connect can shift without notice. Generate screenshots at the highest currently-required size and let Apple resize, rather than baking dimensions into your release process.
2. Entitlements are reviewed individually
Each entitlement gets justified separately. Adding one late triggers another full review. Map every entitlement you might need before first submission; trim, don’t expand.
3. Sandbox + login items are tricky
Apps that need to launch at login under the sandbox use SMAppService.mainApp.register() in modern macOS. The legacy login-item APIs still exist but they are dead-ends; do not start there.
4. File access from helpers needs App Groups
If you have a main app and a helper process — a daemon, a menu bar extra, a CLI tool — give them an App Group entitlement so they can share a directory. Trying to pass file paths via XPC works until the sandbox eats the bookmark.
5. Notarization and App Store review are different pipelines
Notarization is automated and fast (~5 minutes). App Store review is human and slow (~1–2 days). If you ship both inside and outside the store, you maintain two release flows. Automate both; do not manually sign and notarize on release day.
6. Metadata stripping eats characters
Em-dashes, smart quotes and certain Unicode symbols get silently stripped from App Store metadata. Test on the actual store listing, not in App Store Connect’s preview.
7. App Sandbox profile is your first reviewer
Run your app with the App Sandbox enabled and the Console.app open to spot violations before review catches them. Most rejections come from violations you can see locally if you look.
8. Use the right TestFlight build before submitting
Mac TestFlight is real now. Submit the actual TestFlight build to App Store review, not a separately-archived “release” build. Differences between the two have caused us at least one rejection.
The compound cost
Each gotcha cost us hours, not days. Together they cost a full review cycle on Wallnetic — about a week. The fix is preparation, not heroics. Submit a clean first build with the right entitlements and the right metadata, and you skip the cycle.
Frequently asked questions
How long does Mac App Store review take in 2026?
Median is 1–2 days for established developers, 3–5 days for first submissions. Holidays and major OS-release windows can stretch this. Budget two review cycles to first approval for any non-trivial app.
What is the most common rejection reason?
Sandbox violations, especially attempts to access files outside user-selected paths, missing usage descriptions for sensitive APIs, and using private/SPI symbols. Pre-flight these with Xcode’s App Sandbox profile before submitting.
Working on something similar?
T-Square is an independent software engineering studio. We architect, build and operate production-grade systems for learning, AI and custom software products. Talk to a senior engineer if you’d like a second opinion on your architecture or roadmap.