Чтобы переместить архив проекта между компьютерами Mac и сохранить теги Finder, сохраните теги в папке проекта перед сжатием, создайте ZIP-архив с поддержкой Mac, затем распакуйте и проверьте папку на целевом Mac перед удалением оригинала. Теги Finder принадлежат файлам и папкам; архив — это пакет их содержимого, поэтому не думайте, что собственный тег файла архива будет применен ко всему внутри него.
Выберите правильный рабочий процесс для вашего архива
Если у вас есть папка проекта, которую еще нужно сжать, используйте утилиту Apple ditto, чтобы создать ZIP-архив, сохраняющий метаданные Mac. Apple рекомендует ditto для распространения программного обеспечения Mac в формате ZIP, а в документации к этой утилите описано как сохранение расширенных атрибутов, так и опция сохранения метаданных внутри ZIP. Теги Finder являются частью системы метаданных: в документации Apple по File Provider данные тегов определяются как метаданные элементов, а в руководстве по ditto указано, что она сохраняет расширенные атрибуты по умолчанию. Руководство Apple по упаковке, документация Apple по File Provider, руководство по ditto для macOS
Если у вас уже есть ZIP-архив, созданный другой программой или полученный от кого-то другого, универсального средства Finder для восстановления тегов, которые архив никогда не сохранял, не существует. Распакуйте его, проверьте содержимое и повторно примените все недостающие теги в Finder. То же самое происходит, если принимающее хранилище или служба передачи удаляет метаданные: файлы могут поступить неповрежденными, тогда как их теги пропадут.
Создайте ZIP-архив, содержащий метаданные Mac
Сначала в Finder выберите папку проекта и обратите внимание на ее теги. Вы можете просмотреть или добавить теги с помощью кнопки «Теги» на панели инструментов, в меню «Файл» или щелкнув с зажатой клавишей Control; папка может иметь несколько тегов. Руководство Apple по тегам Finder
Откройте Терминал и введите следующую команду, оставив пробел после последнего слова:
ditto -c -k --sequesterRsrc --keepParent
Перетащите папку проекта из Finder в окно Терминала, чтобы вставить путь к ней, затем введите пробел и полный путь назначения для ZIP-файла, например ~/Desktop/ClientProject.zip. Нажмите клавишу Return. Готовая команда будет выглядеть примерно так:
ditto -c -k --sequesterRsrc --keepParent ~/Documents/ClientProject ~/Desktop/ClientProject.zip
Замените оба пути из примера реальными путями к вашей папке и месту назначения. Флаги -c -k создают ZIP-архив; --keepParent включает папку проекта в качестве корневой папки архива; --sequesterRsrc сохраняет ветви ресурсов (resource forks) и метаданные Finder в каталоге __MACOSX внутри ZIP. В руководстве по ditto указано, что распаковка PKZip автоматически находит эти ресурсы. Этот метод предназначен для распаковки с учетом особенностей Mac. Если получатель использует другую операционную систему или инструмент для работы с ZIP, метаданные Mac могут не восстановиться должным образом.
Не удаляйте исходную папку, пока не проверите распакованную копию. Если Терминал сообщает об ошибке, не думайте, что ZIP-архив завершен; прочитайте сообщение и запустите команду повторно после устранения проблемы с путем или местом назначения. В руководстве отмечается, что ditto может сообщать об ошибках, продолжая копирование, поэтому само по себе создание архива не является доказательством успеха. Руководство по ditto для macOS
Распакуйте и проверьте теги на целевом Mac
Перенесите ZIP-архив, а затем распакуйте его на целевом Mac. Откройте полученную папку проекта в Finder, выберите несколько файлов и вложенных папок, о которых вы точно знаете, что они были помечены тегами, и проверьте их теги с помощью кнопки «Теги» в Finder или меню «Файл». Для более широкой проверки выберите нужный тег на боковой панели Finder или выполните поиск по его названию; Apple документирует оба метода поиска элементов с тегами. Руководство Apple по тегам Finder
Также убедитесь, что ожидаемая папка проекта и файлы на месте, и откройте важные для вашей работы файлы. Finder может отображать цвет или имя тега, однако эта визуальная проверка не гарантирует, что архив содержит каждый необходимый файл проекта или что файл проекта конкретного приложения откроется корректно.
Если теги отсутствуют
Выберите затронутые файлы или папки в Finder и добавьте недостающие теги с помощью кнопки «Теги» или меню по щелчку с зажатой клавишей Control. Вы можете выбрать несколько элементов, чтобы применить к ним тег одновременно. Если теги важны на разных платформах или при работе с архивами, созданными другими инструментами, сохраните простую сопутствующую текстовую заметку со списком названий тегов и файлов или папок, к которым они относятся; теги Finder являются метаданными, и совместимость зависит от используемых инструментов и хранилища.
После проверки распакованного проекта вы можете оставить ZIP-файл в качестве архива и удалить исходную папку, если это подходит для вашего рабочего процесса. Сохраняйте отдельную резервную копию для важной работы. Finder предлагает тегирование и поиск по тегам, но в Finder нет команды, гарантирующей, что любой сторонний архив сохранит или восстановит свои теги.
Источники
Packaging Mac software for distribution — Apple Developer Documentation
extendedAttributes — Apple Developer Documentation
DITTO(1) — справочные страницы macOS (macOS Manual Pages)
Использование тегов для упорядочивания файлов на Mac — Служба поддержки Apple