Как узнать, может ли QuickLook предварительно просмотреть тип файла

Есть ли в OS X способ узнать, может ли QuickLook (потенциально) предварительно просмотреть файл, учитывая только его имя?

В моем конкретном случае я показываю превью для файлов в репозитории git, поэтому их нужно извлечь, чтобы передать в QuickLook. Я бы предпочел избежать этой работы, если нет шансов, что предварительный просмотр действительно будет отображаться.

Я видел, что в iOS вы можете делать [QLPreviewController canPreviewItem:], но это недоступно в OS X.


person Uncommon    schedule 20.04.2016    source источник
comment
Вы можете предварительно просмотреть любой файл в OS X.   -  person rocky    schedule 26.04.2016
comment
Вы можете запросить предварительный просмотр, но для некоторых типов файлов все, что он показывает, - это значок.   -  person Uncommon    schedule 26.04.2016
comment
Вы можете получить более качественные ответы, если разместите этот вопрос в разделе «Задать вопрос другому»: apple.stackexchange.com   -  person neophytte    schedule 07.06.2019


Ответы (2)


После проверки QLPreviewView на наличие пустых изображений для предварительного просмотра было обнаружено, что он устанавливает несколько переменных, таких как «contentImage: NSImage», «numberOfPages: Int», «isLoaded: Bool. "когда-то он нарисован и виден на обзоре.

Если предварительный просмотр не поддерживается, contentImage будет установлен с placeholderImage, а numberOfPages будет 0, иначе будет наоборот.

Если кто-то не хочет проверять поддерживаемые типы файлов, он может искать эти переменные с помощью метода value (forKey:), поскольку эти переменные не публикуются.

person Kirty07    schedule 07.06.2019
comment
Но это будет после того, как вы попытаетесь отобразить превью, верно? Я хочу знать заранее, чтобы избежать потенциально дорогостоящей операции. - person Uncommon; 07.06.2019
comment
Да, это произойдет после того, как мы позволим отображать previewItem. Если нам нужно сделать это заранее, нам нужно проверять только расширения файлов, пока Apple не выпустит какой-нибудь API, специфичный для этого сценария. - person Kirty07; 11.06.2019
comment
@ Необычно, как ты справился с этим делом? Проверяете ли вы типы файлов перед загрузкой в ​​режиме предварительного просмотра, если да, не могли бы вы поделиться со мной списком неподдерживаемых / поддерживаемых расширений файлов в QLPreview View. - person Kirty07; 12.06.2019
comment
Я пока не нашел ответа. - person Uncommon; 12.06.2019

Вы можете ознакомиться с документацией Apple Developer относительно Quicklook:

https://developer.apple.com/library/archive/navigation/#section=Technologies&topic=QuickLook

Там они упоминают, что есть три места, которые содержат настройки для Quicklook, вы можете захотеть поиграть в них:

~/Library/QuickLook — third party generators, accessible only to logged-in user
/Library/QuickLook — third party generators, accessible to all users of the system
/System/Library/QuickLook — Apple-provided generators, accessible to all users of the system

Мне удалось изменить Quicklook для просмотра различных файлов в виде простого текста (у меня были .crd файлы, которые представляют собой музыкальные вкладки), но я не могу найти сайт, на котором я проходил через это. Я выложу инструкции, если найду их снова.

HTH !!

person neophytte    schedule 07.06.2019