Создание и конфигурирование проекта беглого взгляда
Проекты XCode для генераторов Беглого взгляда происходят из специального шаблона, устанавливающего важные аспекты проекта. Однако все еще необходимо указать специфичную для генератора конфигурационную информацию и добавить любые ресурсы для генератора, обычно перед записью любого кода.
Создание и установка проекта
Для создания проекта генератора Беглого взгляда запустите путем выбора New Project из меню File в приложении XCode. В ассистенте создания проекта выберите Quick Look Plug-In в списке шаблонов проекта (как показано на рисунке 3-1) и нажмите Далее.
После указания названия и местоположения для проекта XCode выводит на экран окно проекта, подобное примеру на рисунке 3-2.
Следующие элементы в этом окне имеют некоторое специальное отношение к Беглому взгляду:
QuickLook.framework
— Платформа Беглого взгляда, включающая и части потребителя и производителя архитектуры.Если Вы хотите дополнительные платформы, добавьте их к проекту и вставьте надлежащее
#include
или#import
директивы. Например, если Вы хотите записать, что добавляет код с помощью Какао API,Cocoa.framework
к проекту.main.c
— Этот файл содержит весь код, требуемый для aCFPlugin
- основанный плагин. Вам не придется добавить или изменить любой этот код.GeneratePreviewForURL.c
иGenerateThumbnailForURL.c
— Первый файл содержит шаблоны кода для обратных вызововGeneratePreviewForURL
иCancelPreviewGeneration
; второй файл содержит шаблоны кода для обратных вызововGenerateThumbnailForURL
иCancelThumbnailGeneration
.Если Ваш код реализации будет Objective C, несомненно, изменят расширения этих файлов от
c
кm
в XCode (т.е. путем выбора файла и выбора Rename из меню File).
Несмотря на то, что генератор Беглого взгляда не делает (и не должен) иметь файлы пера как ресурсы, можно добавить другие ресурсы при необходимости.
Конфигурация проекта
Для 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
) из генератора Беглого взгляда:
Ключ | Позволенное значение | Описание |
---|---|---|
| Вещественное число | Указывает минимальный размер использования вдоль одной размерности (в точках) миниатюр для генератора. Беглый взгляд не вызывает |
| Вещественное число | Это число дает Беглому взгляду подсказку для ширины (в точках) предварительных просмотров. Если генератор берет слишком долго для создания предварительного просмотра, это использует эти значения. |
| Вещественное число | Это число дает Беглому взгляду подсказку для высоты (в точках) предварительных просмотров. Если генератор берет слишком долго для создания предварительного просмотра, это использует эти значения. |
| Средства управления, может ли генератор обработать параллельную миниатюру и запросы предварительного просмотра. | |
| Средства управления, может ли генератор быть выполнен в потоках кроме основного потока |
Свойства QLSupportsConcurrentRequests
и QLNeedsToBeRunInMainThread
свойства Quick Look, влияющие на многопоточные характеристики генератора. Они обсуждены в Генераторах и Потокобезопасности.