FAQ

Часто задаваемые вопросы: механизм тегов в macOS (Finder) и реализация в этом приложении

1. Что такое теги Finder в macOS? Где они хранятся?

Теги Finder относятся к метаданным файла и не записываются непосредственно в его содержимое, а сохраняются в расширенных атрибутах (xattr). Основным ключом является:

Содержимое этого атрибута представляет собой бинерный plist, который по сути является массивом тегов. Каждый элемент тега содержит название тега и цветовой индекс, где индексы варьируются от 0 до 7: 0 — без цвета, 1 — серый, 2 — зелёный, 3 — фиолетовый, 4 — синий, 5 — жёлтый, 6 — красный, 7 — оранжевый.

Таким образом:


2. О старых расширенных атрибутах com.apple.FinderInfo

com.apple.FinderInfo — это один из более ранних механизмов macOS/Finder:

Более конкретно:


3. Проблема с локализацией: почему один и тот же цвет на разных языках системы воспринимается как разные теги?

macOS записывает локализованные строки названий тегов:

Для системы это два разных тега. Наше приложение использует системные API для получения стандартных названий цветовых тегов, поэтому результат зависит от языкового окружения системы (в разделе «Системные настройки → Общие → Язык и региональные параметры / Язык интерфейса», если выбран режим «Автоматически», то используется текущий язык системы). Если язык системы не совпадает с языком приложения, могут возникнуть различия в названиях тегов.


4. Почему настройки приложения должны соответствовать конфигурации тегов в Finder?


5. Как хранятся метаданные тегов на разных дисках и сетевых ресурсах? (APFS / AppleDouble / NTFS ADS)

5.1 APFS (локальный диск) — нативное хранение xattr (наиболее надёжно)

APFS нативно поддерживает расширенные атрибуты, поэтому метаданные тегов сохраняются непосредственно в xattr самого файла.

5.2 Места, которые не поддерживают или частично поддерживают xattr — AppleDouble (._original_filename)

Когда целевая файловая система или протокол не способны надёжно сохранять xattr (например, FAT32, exFAT, сетевые диски: SMB/WebDAV/NFS и др.), macOS помещает метаданные в сопровождающий файл формата AppleDouble:

Видимость:

Важное замечание (частая причина «потери» тегов):

5.3 SMB-соединение с NTFS: возможное использование ADS (альтернативных потоков данных)

При доступе к NTFS через SMB и при соблюдении определённых условий конфигурации сервера/протокола, macOS может не создавать файлы ._, а записывать метаданные в ADS (Alternate Data Streams, альтернативные потоки данных) NTFS:

Однако следует помнить:


6. Как просмотреть xattr тегов файла?

Командная строка xattr неудобна: она не поддерживает обработку и отображение таких бинарных plist-атрибутов, как com.apple.metadata:_kMDItemUserTags; для корректного вывода необходимо использовать опцию -px, чтобы увидеть данные в шестнадцатеричном формате.

Рекомендуется использовать сторонние инструменты:


7. Как взаимосвязаны Spotlight и теги? Зависят ли теги от Spotlight?


8. Что делает «расширенный индекс» в этом приложении?

Когда Spotlight не может охватить весь объём данных (например, на внешних или сетевых дисках, а также в каталогах, исключённых из поиска), приложение предоставляет расширенный индекс: