Создание и конфигурирование проекта беглого взгляда

Проекты XCode для генераторов Беглого взгляда происходят из специального шаблона, устанавливающего важные аспекты проекта. Однако все еще необходимо указать специфичную для генератора конфигурационную информацию и добавить любые ресурсы для генератора, обычно перед записью любого кода.

Создание и установка проекта

Для создания проекта генератора Беглого взгляда запустите путем выбора New Project из меню File в приложении XCode. В ассистенте создания проекта выберите Quick Look Plug-In в списке шаблонов проекта (как показано на рисунке 3-1) и нажмите Далее.

Рисунок 3-1  Выбирая шаблон плагина Беглого взгляда
Choosing the Quick Look plug-in template

После указания названия и местоположения для проекта XCode выводит на экран окно проекта, подобное примеру на рисунке 3-2.

  Элементы Значения по умолчанию рисунка 3-2 в проекте плагина Беглого взгляда
Default items in a Quick Look plug-in project

Следующие элементы в этом окне имеют некоторое специальное отношение к Беглому взгляду:

Несмотря на то, что генератор Беглого взгляда не делает (и не должен) иметь файлы пера как ресурсы, можно добавить другие ресурсы при необходимости.

Конфигурация проекта

Для OS X v10.6 и позже, необходимо создать генераторы Беглого взгляда и для 32-и для 64-разрядный.

Информационный список свойств (Info.plist) из Беглого взгляда проект генератора включает некоторые специальные свойства, значения которых необходимо установить в дополнение к стандартным свойствам такой как CFBundleIdentifier и CFBundleVersion. Следующие разделы описывают эти свойства.

Тип контента UTI и свойства CFPlugIn

Одно важное свойство для генераторов Беглого взгляда LSItemContentTypes, подсвойство CFBundleDocumentTypes. Перечисление 3-1 показывает CFBundleDocumentTypes свойство, когда неотредактированный. (Обратите внимание на то, что шаблон проекта Беглого взгляда указывает значение (QLGenerator) из CFBundleTypeRole свойство для Вас.)

Перечисление 3-1  подсвойства CFBundleDocumentTypes

    <key>CFBundleDocumentTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>QLGenerator</string>
            <key>LSItemContentTypes</key>
            <array>
                <string>SUPPORTED_UTI_TYPE</string> // change this!
            </array>
        </dict>
    </array>

Замените строку “SUPPORTED_UTI_TYPE” с одним или более UTI s идентификация типов контента документов, для которых этот генератор генерирует миниатюры и предварительные просмотры. Например, проект QuickLookSketch в качестве примера указывает UTIs для документов Эскиза:

<key>CFBundleDocumentTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>QLGenerator</string>
            <key>LSItemContentTypes</key>
            <array>
                <string>com.apple.sketch2</string>
                <string>com.apple.sketch1</string>
            </array>
        </dict>
    </array>

Для получения дополнительной информации об Универсальных Идентификаторах типов (UTIs) для типов контента документа см. Универсальный Обзор Идентификаторов типов.

Поскольку Перечисление 3-2 показывает, большой сегмент Info.plist в Беглом взгляде проект генератора свойства, связанные с CFPlugIn. Вам не придется отредактировать эти свойства.

  Свойства Listing 3-2 CFPlugIn

    <key>CFPlugInDynamicRegisterFunction</key>
    <string></string>
    <key>CFPlugInDynamicRegistration</key>
    <string>NO</string>
    <key>CFPlugInFactories</key>
    <dict>
        <key>27EB40F9-21D6-4438-9395-692B52DB53FB</key>
        <string>QuickLookGeneratorPluginFactory</string>
    </dict>
    <key>CFPlugInTypes</key>
    <dict>
        <key>5E2D9680-5022-40FA-B806-43349622E5B9</key>
        <array>
            <string>27EB40F9-21D6-4438-9395-692B52DB53FB</string>
        </array>
    </dict>
    <key>CFPlugInUnloadFunction</key>
    <string></string>

Другие ключи списка свойств

Можно указать эти дополнительные пары ключ/значение в информационном списке свойств (Info.plist) из генератора Беглого взгляда:

Ключ

Позволенное значение

Описание

QLThumbnailMinimumSize

Вещественное число <real>n</real>

Указывает минимальный размер использования вдоль одной размерности (в точках) миниатюр для генератора. Беглый взгляд не вызывает GenerateThumbnailForURL функция обратного вызова для размеров миниатюры меньше, чем это значение. Размер по умолчанию равняется 17. Если Ваш генератор достаточно быстр, можно удалить это свойство, таким образом, изображение миниатюр может появиться в стандартных списках.

QLPreviewWidth

Вещественное число <real>n</real>

Это число дает Беглому взгляду подсказку для ширины (в точках) предварительных просмотров. Если генератор берет слишком долго для создания предварительного просмотра, это использует эти значения.

QLPreviewHeight

Вещественное число <real>n</real>

Это число дает Беглому взгляду подсказку для высоты (в точках) предварительных просмотров. Если генератор берет слишком долго для создания предварительного просмотра, это использует эти значения.

QLSupportsConcurrentRequests

YES или NO

Средства управления, может ли генератор обработать параллельную миниатюру и запросы предварительного просмотра.

QLNeedsToBeRunInMainThread

YES или NO

Средства управления, может ли генератор быть выполнен в потоках кроме основного потока

Свойства QLSupportsConcurrentRequests и QLNeedsToBeRunInMainThread свойства Quick Look, влияющие на многопоточные характеристики генератора. Они обсуждены в Генераторах и Потокобезопасности.