amm123

XFace J on macOS — Fixing the “App Is Damaged” Launch Error

Field Report: XFace J (app) on macOS — “App Is Damaged” That Wasn’t

Machine: MacBook Pro 14” (M1 Pro) System: macOS Sonoma 14.3 Brand: OrchardKit


Goal

Install XFace J (app) and test a batch of avatar renders for a UI prototype. Nothing heavy — just import a few assets, export PNGs, move on.

Instead, macOS hit me with: “XFace J is damaged and can’t be opened. You should move it to the Trash.”

Which is dramatic. And usually misleading.


First reaction

I assumed a bad download. Deleted it. Re-downloaded. Same message.

Then I checked Apple’s Gatekeeper explanation just to confirm what “damaged” actually means in macOS terms: https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unidentified-developer-mh40616/mac

Right-click → Open. No override option appeared. So this wasn’t just an unidentified developer warning.


Second attempt — Quarantine

Terminal time.

xattr /Applications/XFace\ J.app

There it was: com.apple.quarantine.

Removed it:

xattr -dr com.apple.quarantine /Applications/XFace\ J.app

Launched again.

This time the warning disappeared. Progress. But the app bounced once in the Dock and exited. No dialog. No crash report popup.

So it wasn’t truly “damaged.” It just wasn’t happy.


Digging a bit deeper

Console.app showed a permission error related to ~/Documents/XFaceJ/. That folder didn’t exist yet. The tool was trying to initialize its working directory inside Documents.

Sonoma has tightened file access rules quite a bit. Apple’s privacy documentation explains how apps now need explicit access to certain user folders: https://support.apple.com/guide/mac-help/control-access-to-files-and-folders-on-mac-mchld5a35146/mac

Because the app crashed before fully launching, it never properly triggered the permission prompt.

So I created the folder manually:

mkdir ~/Documents/XFaceJ

Then I launched again.

Still exited.

At this point I realized my Documents folder is synced with iCloud. That complicates things.


What finally worked

I moved the working directory outside of iCloud, into a plain local path:

mkdir /Users/Shared/XFaceJ

Then I launched the tool while watching Console. It stayed open. UI loaded. No crash.

After that, I granted it explicit Documents access in Privacy & Security just to test. Once permissions were approved, it ran fine even from the original folder.

Midway through this I bookmarked this page because it confirmed I was using the correct macOS build and not mixing in some legacy release — helpful sanity check: https://studiosbyaphrodite.com/graphics-and-design/53074-xface-j.html

Out of curiosity I checked whether there’s a sandboxed Mac App Store version that might avoid the manual permission dance: https://apps.apple.com/us/search?term=XFace%20J

Nothing official. Direct distribution means macOS security layers apply fully.


Root cause

It wasn’t corruption. It wasn’t bad signing. It was:

  • Quarantine attribute from download
  • Sonoma folder permission strictness
  • iCloud-synced Documents directory

Once quarantine was cleared and the app had a writable local directory, everything stabilized. I rendered 40+ test avatars without a single crash. CPU usage stayed reasonable on Apple Silicon.


How I’d do it from scratch

If I had to repeat the install:

  • Download to Downloads (not iCloud Documents)
  • Move to /Applications
  • Remove quarantine immediately
  • Ensure a local writable working folder exists
  • Grant folder permissions once prompted

That’s it.

The “damaged” message was a red herring. macOS was just protecting user folders and failing silently when the app couldn’t initialize its workspace.

Once you know that pattern, these “broken” launches start looking very predictable.