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.

Hottest takes

“you’re going to pay your $99/yr Apple tax” — mitchellh
“No wonder everyone is building web apps” — 13415
“How I wish our operating systems still looked like this” — mvkel
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.
The Anatomy of a macOS App - Weaving News | Weaving News