December 7, 2025
Signed, sealed, delivered?
The Anatomy of a macOS App
From tidy app bundles to the $99 “Apple tax” — nostalgia pops, web‑app jokes fly
TLDR: macOS apps are folder-like bundles with code, icons, and Apple’s security checks like signing and notarization. Comments split between love for old-school Mac simplicity and frustration over the $99 “Apple tax,” with some arguing this push is why so many products ship as web apps.
macOS apps aren’t magic icons — they’re little folders dressed like apps, stuffed with code, icons, and a rulebook called Info.plist. The article tours how Apple went from old-school resource files and ResEdit hacks to today’s neat “bundles,” with signatures, receipts, and a stapled “ticket” proving Apple has checked the app. It’s cleaner, safer, and easier to delete — on paper.
In the comments, the vibe turns spicy fast. One dev calls notarization “optional” in name only, saying you’ll pay the $99/year “Apple tax” if you want users to run your app without drama. Another drops a mic: “No wonder everyone builds web apps.” Why? Some feel modern macOS piles on checks and hoops that make the open web look simple by comparison. Nostalgia also crashes the party: folks pine for the Classic Mac look and feel — utilitarian, sharp, no bubbly corners — and share stories of sneaking into ResEdit at school like it was a cheat code. There’s even a fun-fact flex that NeXT’s bundles inspired Java’s JAR files.
So yes, the anatomy lesson lands. But the audience? Split between praising Apple’s security and groaning about friction, fees, and a UI glow-up that, to some, lost the plot.
Key Points
- •Classic Mac OS stored app assets in resource forks with CODE resources and type/creator codes managed by the Finder.
- •Mac OS X adopted NeXTSTEP-style .app bundles with Contents/MacOS, Resources, optional Frameworks, plus Info.plist and PkgInfo.
- •App launch involves launchd executing Mach-O binaries, coordinated by LaunchServices and RunningBoard using Info.plist.
- •Code signing arrived in Mac OS X 10.5 Leopard, adding _CodeSignature/CodeResources with CDHashes; App Store apps include _MASReceipt.
- •Since 2018, notarization tickets can be stapled into bundles; modern apps may include Library, XPCServices, Plugins (Appex), Extensions, improving installation, updates, removal, and security.