Jump to content
21 posts in this topic

Recommended Posts

Xattr-remove is a macOS app developed with SwiftUI that removes `com.apple.quarantine` extended attribute from files downloaded from the Internet. Works accepting files via drag and drop.

 

This app is a simpler and lighter version of Xattr Editor. Instead of displaying and editing (removing, modifying, adding) extended attributes, it performs a single task: removing `com.apple.quarantine` in a quick way from files downloaded from the Internet so that they can be opened in macOS Tahoe (earlier macOS versions have a more relaxed warning system and can be opened more easily).

 

Main features

  • The app shows different messages based on:
    • Files where quarantine attribute was removed
    • Files where quarantine attribute was not present
    • Mixed results (some removed, some already clean)
  • The app automatically quits 3 seconds after displaying a success alert (less user intervention)
  • Errors do not trigger auto-quit and app window remains open (requires user action).

First run

 

The drawback of Xattr-remove is that, since it's also an app downloaded from the Internet, it also displays the Gatekeeper warning on the first run. This is unavoidable since the app is only ad-hoc signed and not notarized. This doesn't happen if you download the source code, compile the app using Xcode, and save the product for regular use.

 

Comments about issues or requests are very welcome.

 

https://github.com/perez987/Xattr-remove

 

Spoiler

Main-window.thumb.png.493b231467f637499d622837d45f07ea.png

 

Spoiler

Quarantine-files.thumb.png.40d487b9b29939f37c2bf36ef9133b08.png

 

Spoiler

Unquarantine-files.thumb.png.7848324545ac6f7ddfa0cd28788dff22.png

 

Spoiler

Mixed-files.thumb.png.dcb3c01e073f59e0dc48f0558492d591.png

 

 

Spoiler

Error.thumb.png.876ee71c9365b405890dc9f4ca6245c7.png

 

Edited by miliuco
Typo
  • Like 3
  • Thanks 4

Added localization system with language selector and 5 languages (German, English, French, Italian and Spanish).

 

Spoiler

image.thumb.png.a3e241268284ce40ab9f259cba525b76.png

 

 

 

Edited by miliuco
Fix typo
  • Like 2
  • 3 months later...
Posted (edited)

Xattr-remove 1.6.1 version
 

Sparkle updater xcframework integrated into the project instead of added as dependency by Swift Package Manager.

 

Added an option to re-sign app bundle and Sparkle (optional). This option works acting with codesign on Sparkle (first) and the app (later), signing these elements ad-hoc and replacing the certificate:

codesign --force --deep --sign - \
  Xattr-remove.app/Contents/Frameworks/Sparkle.framework

codesign --force --deep --sign - \
  Xattr-remove.app

This can be useful for users who can't run a not notarized downloaded from Internet app and receive a Sparkle-related error message.

Thanks to @jlrycm for giving me the idea when you fixed your issue with a different app this way.

 

https://github.com/perez987/Xattr-remove

 

Spoiler

Main-window.thumb.png.934ab30b710339e6f099ffe47150a224.png

 

Spoiler

7-files-1-app.thumb.png.c739e0df43d38a06e5f16ba9f9462221.png

 

Spoiler

6-files-no-app.thumb.png.f951a7fa0b338a9ddd5556084a1f2b02.png

 

 

Edited by miliuco
Fix typo
  • Like 4

 

@miliuco My noble friend, I would recommend creating the release for both architectures, Arm64 (Apple Silicon) and Intel x86, as configured in Xcode, so that if updates are enabled in the future, they will remain compatible. macOS Tahoe 26.5 is already displaying warnings that applications developed only for Intel will be disabled in future macOS updates. ;) 

 

CapturadeTela2026-05-19s14_29_50.thumb.png.b67074a9c6ed65d63d680e49b696426d.png

  • Like 1
Posted (edited)

@Max.1974

 Maybe Xcode has set target for both architectures but I did not notice that Release builds only for current architecture. I’ll check it. 

 

Edited by miliuco
Typo
  • Thanks 2
Posted (edited)

@Max.1974

 

Dear friend, I checked the architectures in Download Full Installer after seeing that Xcode had the build configuration to compile both architectures. I was wrong; I have standard architectures (Apple Silicon, Intel) for both the release and debug versions.

 

Lipo outputs both x86_64 and arm64:

lipo -archs Download\ Full\ Installer-4.3.3.app/Contents/MacOS/Download\ Full\ Installer
x86_64 arm64

Info does it too:

info Download\ Full\ Installer-4.3.3.app/Contents/MacOS/Download\ Full\ Installer
Download Full Installer-4.3.3.app/Contents/MacOS/Download Full Installer: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64]
Download Full Installer-4.3.3.app/Contents/MacOS/Download Full Installer (for architecture x86_64):    Mach-O 64-bit executable x86_64
Download Full Installer-4.3.3.app/Contents/MacOS/Download Full Installer (for architecture arm64):    Mach-O 64-bit executable arm64

I think the app runs on Silicon as well. I'll keep it that way.

 

But I don't have a Silicon machine to test it on. If I remember correctly, you have one. Please try the app and let me know if it runs as expected. Thanks.

 

Edited by miliuco
  • Thanks 2

Yes my friend, it runs great, but when the release supports both architectures, we do not receive any warnings. 

Because the one I downloaded and installed already shows warnings saying that it will not run on future macOS versions. I managed to work around those warnings by creating the release exactly as I showed in Xcode, and then macOS accepts it on both architectures. 

Last login: Tue May 19 20:58:55 on ttys000
(base) m4pro@Mac-mini-de-Christian ~ % lipo -archs /Applications/Xattr-remove.app/Contents/MacOS/Xattr-remove
x86_64 arm64
(base) m4pro@Mac-mini-de-Christian ~ % 

 

And thank you very much for checking this, it is very important my brother, thank you. ;) 

  • Like 2

My dear brother, the release I downloaded from your page is running only on x86. 

 

image.thumb.png.3aa8869b9433f8d233d58c4bd07393fa.png

sha256:1660fc3ff60c65948d207862e4522222e4cc74200efc6f182f3514e5eb7628ce 

 

CapturadeTela2026-05-19s21_06_54.thumb.png.0a1298ddbcf5eb46da3241dacccd8eef.png

But it is easy, just adjust Xcode for both architectures and it will build in the build folder for both formats. 

 

image.thumb.png.92ebb09337b07b5630308662c43a1d0b.png

  • Like 2

The incredibly polite salutations of "My dear friend" and "My dear brother" are very sweet.  Please don't feel the need to address me as "My dear sister." :hysterical:

  • Haha 3
Posted (edited)

@Max.1974

Okay, I’ll re-check it later. I don’t know why I revised DFI instead of Xattr-remove. 
 

@deeveedee

You make me smile, good thing in some (not so good) days 🙂

Edited by miliuco
  • Like 1
  • Sad 1

@Max.1974

Done. You were right, the app was only x86_64.

Please try and tell to me if it's right now.

 

https://github.com/perez987/Xattr-remove/releases/tag/1.6.1

 

(Unable to upload the zip, site issue)

 

 

 

  • Thanks 1
6 hours ago, miliuco said:

@Max.1974

Done. You were right, the app was only x86_64.

Please try and tell to me if it's right now.

 

https://github.com/perez987/Xattr-remove/releases/tag/1.6.1

 

(Unable to upload the zip, site issue)

 

 

 

 

@miliuco I hope you are doing well, my friend. Thank you for the help. Yes, I managed to do it. Here I also can’t post anything large because the site is limiting it. But I compiled the project and everything is in order. When I have a little free time, I’ll download your release. Thank you, my friend. ;) 

  • Like 2
  • 1 month later...

@Cyberdevs

 

Yes, it's by design. I thought that once the app has finished its task, closing it automatically saves the user from having to close it manually. For convenience. If the alert shows errors, the app keeps the window opened.

 

Let me know if you find the option to keep it open more useful, perhaps by adding a setting to choose between the two modes.

 

It's said in the README:

"The app automatically quits 5 seconds after displaying a success alert"

  • Like 1

I didn't read the read me but since there was no crash log i figured it should be by design.
IMHO you can add the option in settings but adding and extra line after the task is done should suffice like the: "the success message and the app will close automatically in 5 seconds" because even if I didn't click ok on the success message it closed the app which can be confusing.

  • Like 1
×
×
  • Create New...