Как я могу сказать Spotlight проиндексировать мои пакеты .dSYM?
Сегодня я впервые попытался - и не смог - символизировать журнал сбоев на недавно купленном MacBook (пустьНазовите эту машину MB1). MB1 поставляется с предустановленной Mac OS X 10.9. Я отследил проблему неуспешной символики, пока Spotlight не проиндексировал ни одну из моих.dSYM
связки (без индекса Spotlight, Apple'ssymbolicatecrash
Сценарий не может найти.dSYM
связка, соответствующая журналу сбоя). Я пришел к своему выводу, потому что
mdfind "com_apple_xcode_dsym_uuids == *"
ничего не печатает, хотя у меня несколько.xcarchive
пачки в моем~/Library/Developer/Xcode/Archives
папка, и они определенно содержат.dSYM
подгруппы, UUID которых я могу распечататьdwarfdump --uuid
, У меня тоже есть пара.dSYM
связки внутри моего проектапапка сборки (DerivedData
), но ни один из них тоже не индексируется.
Короткий и простой вопрос: как я могу сказать Spotlight индексировать мои пакеты .dSYM?
В случае, если нет простого ответа на этот простой вопрос, вот что я уже пробовал на MB1:
Проверьте права доступа к файлам и папкам в~/Library/Developer/Xcode/Archives
(все в порядке, 755 для папок, 644 для файлов)Бежатьmdimport ~/Library/Developer/Xcode/Archives
(не имеет никакого эффекта)В "Системные настройки> Прожектор> Конфиденциальность" сначала добавьте, а затем удалите~/Library/Developer/Xcode/Archives
папка (также не имеет никакого эффекта)Проверить сmdutil -s /
что для тома включена индексацияСтереть и перестроить весь индексmdutil -E /
(занимает, может быть, 10-15 минут, но все равно не действует)Более подробно: у меня есть старый MacBook (пустьНазовите эту машину MB2), которая была моей машиной для разработки, прежде чем я переключился на MB1. На MB2 у меня никогда не было проблем с символикой. На MB2 была установлена Mac OS X 10.8, в то время как я все еще активно разрабатывал ее, но недавно я обновил MB2 до Mac OS X 10.9.
Сегодня работаетmdfind
на MB2 все еще дает мне много.dSYM
связки, как изArchives
папка и из проектаDerivedData
создать папку. Это все старые файлы с Mac OS X 10,8 дней, но, очевидно, Spotlight сохраняет свой индекс при обновлении ОС. Я подумал, что было бы интересно посмотреть, как Spotlight ведет себя при создании новых файлов, поэтому я сделал следующее:
mdfind
, Это находит промежуточный.dSYM
расслоение внутриDerivedData
создать папку.Удалить промежуточный.dSYM
связать и запуститьmdfind
снова. На этот раз результатов нет, т.е..dSYM
расслоение внутриArchives
папка НЕ найдена!Сделайте копию.xcarchive
пакет, созданный на шаге 1, и поместите копию в корень домашнего каталога пользователя. Бежатьmdfind
, Это находит.dSYM
вложенный комплект внутри скопированного.xcarchive
расслоение!В этот момент я пришел к выводу, что из-за~/Library
это скрытая папка, это то, что мешает Spotlight индексировать вещи внутри нее. Это может быть легко подтверждено созданием обычного файла внутри~/Library
и искать его (без попаданий), а затем перемещать файл за пределы~/Library
и поиск снова (1 хит). К сожалению, эта теория терпит неудачу по двум причинам:
~/Library
был уже скрыт в версиях Mac OS X до 10.9, но это никогда не мешало Spotlight индексировать.dSYM
файлы"скрытый» флаг - это не все, что удерживает Spotlight от индексации~/Library
: Если я раскрою папку сchflags nohidden ~/Library
, это не делает обычный файл видимым для Spotlight.Вернемся к MB1: я попытался повторить шаг 3 сверху, то есть сделать копию.xcarchive
расслоение в корне пользователяs домашний каталог, затем запуститеmdfind
, Удивительно, но на MB1 результат отличается от MB2:mdfind
до сих пор не находит нет.dSYM
связки вообще!
На данный момент я сдаюсь и надеюсь на вашу помощь. Я пришел к выводу, что Mac OS X 10.9 как-то отвечает за мои проблемы, но за свою жизнь я могуне могу понять, почему это так. Если это поможет, вот несколько дополнительных деталей конфигурации:
MB1: установлены Xcode 5.0.2 и Xcode 4.6, по умолчанию используется 5.0.2 (устанавливается сxcode-select
). Также установлен Homebrew. Система представляет собой чистую установку Mac OS X 10.9.MB2: Xcode 4.5, 4.6 и 5.0 установлены, 4.6 по умолчанию. Также установлен MacPorts. Система является обновленной установкой Mac OS X 10.9 (установлена ранее).