Анатомия предпочтительного пакета области

Предпочтительный плагин области упаковывается на диске как пакет с .prefPane расширение. Как все пакеты пакета, предпочтительная область состоит из исполнимой программы (в собственном компоненте Mac OS X Мужественный формат), информационный список свойств (Info.plist), и локализуемые и глобальные (нелокализованные) ресурсы.

Структура демонстрационного предпочтительного пакета области показана на рисунке 1.

  Содержание рисунка 1 предпочтения разделяет пакет на области
Contents of a preference pane bundle

Когда создается в XCode, базовая структура и файлы создаются для Вас. Создание Предпочтительного Пакета Области описывает шаги, требуемые произвести рабочий предпочтительный пакет области. Следующие разделы описывают отдельные элементы пакета.

Информационные списки свойств

Каждый пакет содержит словарь, Info.plist файл, определяющий определенные свойства пакета, такие как имена важных ресурсов. Пакеты области Preference должны обеспечить значения для следующих ключей в информационном списке свойств:

Ключ

Описание

CFBundleIdentifier

Строка уникального идентификатора для пакета. Каждый пакет должен иметь уникальное CFBundleIdentifier снабженный префиксом обратным доменным именем организации. Например, “com.mycompany.preference.sound”.

NSMainNibFile

Имя основного файла пера. Если этот ключ опущен, предпочтительная реализация области по умолчанию принимает значение «Основных». Значение не должно включать .nib расширение. Например, “SoundPref”.

NSPrefPaneIconFile

Имя ресурса файла образа, используемого в представлении Show All и области избранного приложения Установок системы для представления предпочтительной области. Значок должен составить 32 x 32 пикселя в размере. Если этот ключ опущен, Установки системы ищет CFBundleIconFile ключ. Значение должно включать расширение. Например, “Sound.tiff”.

NSPrefPaneIconLabel

Имя предпочтительной области, выведенной на экран Установками системы ниже значка области и в меню Pane. Можно включать символ новой строки в строку (“\n”) для разделения длинного имени между двумя строками. Если этот ключ опущен, Установки системы ищет CFBundleName ключ. NSPrefPaneIconLabel должен быть локализован через InfoPlist.strings файл. Например, “Sound” и “Sonido”.

NSPrincipalClass

Имя класса основного контроллера предпочтительной области. Этот класс должен быть определен в Мужественном двоичном файле пакета, и это должен быть подкласс NSPreferencePane. Для предотвращения коллизий имени символа имя класса должно быть снабжено префиксом специально портившей версией идентификатора пакета (см. Предотвращение Конфликтов имен для подробных данных). Например, “ComApplePreferenceSoundPref”.

Локализуемые ресурсы

Ресурсы пакета могут быть локализованы на различные языки и области. Обычно это ресурсы, представляющие текст пользователю, такому как названия меню и метки в окнах. Файлы ресурсов сохранены в отдельных подкаталогах в Contents/Resources каталог пакета. Каталоги называют в честь языка, такой как English.lproj или Spanish.lproj. Когда Ваша предпочтительная область получает доступ к локализованному ресурсу, такому как файл пера, содержащий окно, операционная система выбирает версию согласно предпочтениям языка пользователя.

Самый простой путь к предпочтительной области для определения ее пользовательского интерфейса через основной файл пера. Этот файл пера должен быть локализованным ресурсом. Имя основного файла пера может быть чем-либо, но это должно соответствовать значение NSMainNibFile введите список свойств пакета.

Как комплекты приложений, предпочтительные пакеты области должны включать локализованный InfoPlist.strings ресурс. Этот файл содержит строки частного лица, которые пользователь видит, но не может быть сохранен в файле пера. Этот файл должен содержать запись для NSPrefPaneIconLabel свойство, значение которого является локализованным именем дисплея предпочтительной области.

Глобальные ресурсы

Не все ресурсы должны быть локализованы. Изображения без текстового содержания могут использоваться для всех языков. Эти глобальные ресурсы сохранены в Contents/Resources каталог.

Предпочтительный файл значка области (обычно .icns или .tiff файл), значок на 32 x 32 пикселя, используемый в приложении Установок системы для представления предпочтительной области в представлении Show All и области избранного. Имя предпочтительного файла значка области указано NSPrefPaneIconFile введите список свойств пакета. Как правило, это - (нелокализованный) ресурс глобальной переменной. Однако, если значок содержит специфичную для локали информацию (такую как текст), это может быть сделано локализованным.

Где живут предпочтительные области

Область Preference связывается для Установок системы, живых в PreferencePanes семейство каталогов библиотеки. Это семейство каталогов состоит из этих каталогов:

Каталог

Описание

/System/Library/PreferencePanes

Mac OS X встроенные предпочтительные области

/Network/Library/PreferencePanes

Стороннее предпочтение разделяет на области доступный всем пользователям в сети

/Library/PreferencePanes

Стороннее предпочтение разделяет на области доступный всем пользователям на компьютере

~/Library/PreferencePanes

Стороннее предпочтение разделяет на области доступный только текущему пользователю

Установки системы ищут эти каталоги в обратном порядке, что они перечислены здесь. Если многократные предпочтительные области найдены с идентичными идентификаторами пакета (CFBundleIdentifier значение ключа), только первая предпочтительная найденная область выведена на экран.

При создавании пользовательского предпочтительного приложения или если Вы используете предпочтительные области для реализации элемента Меню свойства целевого приложения, сохраните предпочтительные пакеты области в пакете приложения в Resources каталог. Если предпочтительная область должна быть совместно использована комплектом приложений, сохраните предпочтительные пакеты области в подкаталоге в /Library/Application Support.