Минималистичная утилита для строки меню macOS (14.6+), предназначенная для автоматической очистки скрытого мусора и безопасного извлечения накопителей.
В процессе взаимодействия операционной системы macOS с внешними запоминающими устройствами, использующими кроссплатформенные файловые системы (exFAT, MS-DOS FAT32), подсистема Desktop Services автоматически генерирует индексационные, позиционные и служебные метафайлы. К ним относятся скрытые объекты каталогов .DS_Store, структуры Apple Double (._*), а также специализированные изолированные директории .Trashes, .Spotlight-V100 и .fseventsd.
Указанные метаданные оптимизируют скорость индексации и логику отображения элементов в системном файловом менеджере Finder, однако они вызывают критические ошибки десериализации, сбои детекции файловой структуры и критические нарушения алгоритмов последовательного чтения на целевом промышленном и любительском оборудовании с ограниченными аппаратными ресурсами. Описываемая проблема носит системный характер и наиболее критично проявляется при интеграции носителей информации в следующие типы систем:
- Программируемые логические контроллеры (ПЛК), управляющие бортовые комплексы и микроконтроллерные системы автоматизации на базе архитектур STM32, AVR, PIC (включая платформы Arduino и аналогичные индустриальные контроллеры).
- Аддитивное производственное оборудование, включая управляющие платы лазерных станков, координатных ЧПУ-систем и 3D-принтеров промышленного или персонального класса.
- Встраиваемые медиа-системы, автомобильные головные устройства, звуковые процессоры, сигнальные модули и аппаратные декодеры телеметрии.
Утилита Simplu автоматизирует процесс низкоуровневой подготовки носителей, выполняя гарантированное рекурсивное удаление нецелевых метаданных непосредственно перед их программным размонтированием с шины ввода-вывода (I/OKit) операционной системы.
Программный комплекс спроектирован на базе современных системных API macOS с учетом жестких требований к минимизации потребления ресурсов центрального процессора и оперативной памяти в фоновом режиме работы:
- Динамический мониторинг распределения дискового пространства. Меню приложения в реальном времени транслирует точную информацию о доступном объёме памяти для каждого активного тома. Отрисовка графических индикаторов (Progress Bar) реализована на декларативном фреймворке SwiftUI и интегрирована в иерархию компонентов AppKit через специализированный мост контейнеризации NSHostingView.
- Сегментация накопителей по типу файловых систем. Алгоритм автоматически идентифицирует подключенные устройства на уровне ядра, изолируя нативные разделы Apple (APFS/HFS+) от сменных носителей сторонних форматов. Данная архитектурная деталь исключает риски случайного удаления кэша или нарушения целостности структуры системных дисков macOS.
- Пакетная асинхронная обработка данных. Реализован метод массового безопасного извлечения «Очистить и извлечь ВСЕ накопители». Функция параллельно запускает изолированные низкоуровневые потоки Unix-очистки для всех обнаруженных exFAT/FAT32-устройств в рамках глобальной системной очереди со статусом приоритета оперативного взаимодействия (DispatchQueue.global с QOS userInitiated).
- Интегрированный контроль привилегий подсистемы безопасности TCC. Программа включает в себя валидатор прав «Доступа к диску целиком» (Full Disk Access) на этапе инициализации приложения (метод applicationDidFinishLaunching). В случае блокировки Unix-команд механизмами Sandbox, утилита вызывает модальное окно NSAlert со встроенной URL-схемой x-apple.systempreferences для мгновенного перенаправления пользователя в соответствующий интерфейс Системных настроек macOS.
- Прямая интеграция с подсистемой Finder. Каждое обнаруженное устройство снабжено инкапсулированной командой вызова корневой директории через NSWorkspace.shared.selectFile, позволяя оператору мгновенно верифицировать состав файлов в нативном окне операционной системы.
- Регистрация демона автозапуска. Управление фоновым стартом приложения при инициализации сессии пользователя делегировано современному системному API SMAppService.mainApp, пришедшему на смену устаревшим механизмам Service Management, что гарантирует стабильную интеграцию утилиты в актуальных версиях macOS.
graph TD
A([Инициализация внешнего накопителя]) --> B[Запрос на рекурсивную очистку и размонтирование тома]
B --> C{Проверка прав TCC Full Disk Access}
C -->|Доступ предоставлен| D[/Поиск и удаление метафайлов .DS_Store и ._* утилитой find/]
D --> E[/Снятие системных флагов файлов chflags -R nouchg/]
E --> F[/Принудительная очистка каталогов .Trashes, .Spotlight и .fseventsd командой rm -rf/]
F --> G[Вызов системного аудио-ассета NSSound Glass]
G --> H([Демонтирование файловой системы через POSIX-процесс diskutil unmount])
%% КАСТОМНАЯ ИНЖЕНЕРНАЯ СТИЛИЗАЦИЯ %%
classDef init fill:#1d1d1f,stroke:#8e8e93,stroke-width:2px,color:#fff,font-weight:bold;
classDef trigger fill:#ff9500,stroke:#d47a00,stroke-width:2px,color:#fff,font-weight:bold;
classDef operation fill:#2c2c2e,stroke:#48484a,stroke-width:1px,color:#e5e5ea;
classDef success fill:#34c759,stroke:#248a3d,stroke-width:2px,color:#fff,font-weight:bold;
class A init;
class B trigger;
class C,D,E,F,G operation;
class H success;