Об информационных файлах списка свойств

Информационный файл списка свойств является файлом структурированного текста, содержащим существенную конфигурационную информацию для связанной исполнимой программы. Сам файл обычно кодируется с помощью Unicode, кодирование UTF-8 и содержание структурированы с помощью XML. Корневой узел XML является словарем, содержание которого является рядом ключей и значений, описывающих различные аспекты пакета. Система использует эти ключи и значения для получения информации о приложении и как это сконфигурировано. В результате все связанные исполнимые программы (плагины, платформы и приложения), как ожидают, будут иметь информационный файл списка свойств.

Условно, имя информационного файла списка свойств Info.plist. Это имя этого файла чувствительно к регистру и должно иметь букву стартового капитала I. В приложениях для iOS этот файл находится на верхнем уровне каталога пакета. В пакетах OS X этот файл находится в пакете Contents каталог. XCode обычно создает этот файл для Вас автоматически при создании проекта надлежащего типа.

Создание и редактирование информационного файла списка свойств

Самый простой способ создать информационный файл списка свойств состоит в том, чтобы позволить XCode создать его для Вас. Каждый новый основанный на пакете проект, который Вы создаете в XCode, идет с файлом, названным <проектом>-Info.plist, где <проект> является именем проекта. Во время изготовления этот файл используется для генерации Info.plist файл, тогда включенный в получающийся пакет.

Для редактирования содержания информационного файла списка свойств выберите <проект>-Info.plist файл в Вашем проекте XCode вывести на экран редактора списка свойств. Рисунок 1 показывает редактору для информационного файла списка свойств нового проекта приложения Какао. Файл, создаваемый XCode, прибывает предварительно сконфигурированный с ключами, которые должен иметь каждый информационный список свойств.

Рисунок 1  Редактируя информационный список свойств в XCode

Для редактирования значения для указать ключа дважды щелкните по значению в редакторе списка свойств XCode, чтобы выбрать его, затем ввести новое значение. Большинство значений указано как строки, но XCode также поддерживает несколько других скалярных типов. Можно также указать составные типы, такие как массив или словарь. Редактор списка свойств выводит на экран надлежащий интерфейс для редактирования каждого типа. Для изменения типа данного значения удостоверьтесь, что значение не выбрано и Щелчок управления он для отображения его контекстного меню. Из подменю Value Type выберите тип, который Вы хотите использовать для значения.

Поскольку информационные списки свойств являются обычно просто текстовыми файлами, можно также отредактировать их использующий любой текстовый редактор, поддерживающий кодирование файла UTF-8. Поскольку они - XML-файлы, однако, редактированию файлов списка свойств вручную обычно обескураживают.

Добавление ключей к информационному файлу списка свойств

Несмотря на то, что Info.plist файл, предоставленный XCode, содержит самые критические ключи, требуемые системой, большинство приложений должно обычно указывать несколько дополнительных ключей. Много подсистем и системных приложений используют Info.plist файл для сбора информации о приложении. Например, когда пользователь выбирает File> Get Info для Вашего приложения, Средство поиска выводит на экран информацию от многих из этих ключей в получающемся информационном окне.

Вы добавляете ключи к Info.plist своего приложения использование редактора списка свойств XCode. Для получения информации о том, как использовать этого редактора, посмотрите редактора Списка свойств Хелпа.

Для списка рекомендуемых ключей необходимо включать в типовое приложение, видеть Рекомендуемые Ключи Info.plist.

Локализация значений списка свойств

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

Локализованные значения не сохранены в Info.plist сам файл. Вместо этого Вы храните значения для определенной локализации в строковом файле с именем InfoPlist.strings. Вы помещаете этот файл в тот же специфичный для языка каталог проекта, который Вы используете для хранения других ресурсов для той же локализации. Содержание InfoPlist.strings файл является отдельными ключами, которые Вы хотите локализованный и соответственно переведенное значение. Подпрограммы, ищущие значения ключа в Info.plist файл принимает предпочтения языка пользователя во внимание и возвращает локализованную версию ключа (от надлежащего InfoPlist.strings файл), когда каждый существует. Если локализованная версия ключа не существует, подпрограммы возвращают значение, сохраненное в Info.plist файл.

Например, приложение TextEdit имеет несколько ключей, которые выведены на экран в Средстве поиска и таким образом должны быть локализованы. Предположим, что Ваш информационный файл списка свойств определяет следующие ключи:

<key>CFBundleDisplayName</key>
<string>TextEdit</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 1995-2009, Apple Inc.,All Rights Reserved.
</string>

Французская локализация для TextEdit тогда включает следующие строки в InfoPlist.strings файл Contents/Resources/French.lproj каталог:

CFBundleDisplayName = "TextEdit";
NSHumanReadableCopyright = "Copyright © 1995-2009 Apple Inc.\nTous droits réservés.";

Для получения дополнительной информации о размещении InfoPlist.strings файлы в Вашем пакете, см. Руководство по программированию Пакета. Для получения информации о создании строковых файлов см. Руководство по программированию Ресурса. Для получения дополнительной информации о процессе локализации посмотрите Руководство по Интернационализации и Локализации.

Создание специфичных для устройства ключей

В iOS 3.2 и позже, приложения могут определять ключи Info.plist файл, как являющийся применимым только к определенным типам устройств. Для создания специфичного для устройства ключа Вы комбинируете ключевое имя с некоторыми специальными спецификаторами с помощью следующего образца:

key_root-<платформа>~<устройство>

В этом образце часть key_root представляет настоящее имя ключа. <Платформа> и <устройство> части являются оба дополнительными окончаниями, которые можно использовать для применения ключей к определенным платформам или устройствам. Для ключа платформы можно указать значение iphoneos или macos в зависимости от платформы Вы предназначаетесь.

Для применения ключа к определенному устройству можно использовать одно из следующих значений:

При указании ключей рекомендуется всегда включать ключ без любых модификаторов устройства так, чтобы у Вас было разумное значение по умолчанию. Можно тогда добавить версии ключа со специфичными для устройства переопределениями, по мере необходимости, для настройки значения для определенного устройства. При поиске ключа приложении Info.plist файл, система выбирает ключ, который является самым определенным для текущего устройства сначала. Если это не находит специфичный для устройства ключ, это ищет один без любых модификаторов устройства. Таким образом наличие неизмененного ключа означает, что всегда существует значение по умолчанию для данного ключа. Например, для указания портрета запускают ориентацию для iPhone и устройств iPod touch и альбомно-правильную ориентацию запуска для iPad, необходимо указать соответствующие ключи в Вашем Info.plist файл:

<key>UIInterfaceOrientation</key>
<string>UIInterfaceOrientationPortrait</string>
<key>UIInterfaceOrientation~ipad</key>
<string>UIInterfaceOrientationLandscapeRight</string>

Пользовательские ключи

OS X и iOS игнорируют любые пользовательские ключи, которые Вы включаете в файл Info.plist. Если Вы хотите включать информацию о специфичной для приложений конфигурации в Ваш Info.plist файл, можно сделать так же свободно, пока ключевые имена не конфликтуют с теми использование Apple. При определении пользовательских ключевых имен сообщено, что Вы снабжаете префиксом их уникальный префикс, такой как пакет Вашего приложения ID или доменное имя Вашей компании.

Рекомендуемые ключи Info.plist

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

Рекомендуемые Ключи для приложений для iOS

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

В дополнение к этим ключам существуют несколько, которые обычно включаются:

Для описаний этих ключей см. другие главы этой книги.

Рекомендуемые ключи для приложений какао

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

Эти ключи идентифицируют Ваше приложение для системы и предоставляют некоторую основную информацию об услугах, которые это предоставляет. Приложения какао должны также включать следующие ключи для идентификации ключевых ресурсов в пакете:

Для описаний этих ключей см. другие главы этой книги.

Обычно локализуемые ключи

В дополнение к рекомендуемым ключам существует несколько ключей, которые должны быть локализованы и помещены в Ваше специфичное для языка InfoPlist.strings файлы:

Для получения дополнительной информации о локализации информационных ключей списка свойств, посмотрите Значения Списка свойств Локализации.