Как Apple заставляет info.plist отображать свой «Список свойств информации»?

StackOverflow https://stackoverflow.com/questions/321933

Вопрос

Мои списки просто начинаются с " Root " ;. Они содержат массивы полезных вещей, которые вы можете выбрать, чтобы настроить конфигурацию. Конкретный info.plist, на который я смотрю, находится в проекте iphone. Я немного исследовал это (не много), но даже не обнаружил запах раствора.

Какой механизм соединяет это? Могу ли я подчинить его своей воле?

Чтобы уточнить, я имею в виду не просто редактирование списка, а использование редактора списков свойств для определения раскрывающихся списков в левом столбце, как ведет себя info.list от Apple.

Обычно мои списки отображаются в редакторе с 3 столбцами. Ключ, Тип и Значение. Info.plist имеет 2, как он настроен, поэтому его поведение отличается в редакторе списка свойств?

Эта ссылка в Apple определяет ключи, используемые в Info.plist.

Справочник по ключам списка свойств

Это было полезно?

Решение

Имена, которые вы видите в раскрывающихся меню в редакторе списка свойств, предоставляются тем, что Apple называет «определением структуры списка свойств». Это файл на основе XML, который определяет определенные ключи и значения для определенного типа списка свойств. Редактор списка свойств использует это, чтобы связать удобочитаемые имена с определенными ключами списка свойств, а также с разумными значениями по умолчанию, информацией о типах и так далее.

Редактор списка свойств скрывает " Тип " столбец при использовании определения, потому что он автоматически получает информацию о типе из определения структуры. Вы все еще можете использовать Изменить > Значение Тип, чтобы изменить тип вручную, если хотите. Вы также можете вручную изменить определение, которое использует редактор списков свойств, с помощью View > Тип списка свойств.

Xcode включает встроенное определение для файлов Info.plist, поэтому вы автоматически видите настройку при открытии файла Info.plist. Если вас интересует, как определяются определения структуры, вы можете посмотреть в /Developer/Platform/MacOSX.platform/Developer/Library/Xcode/Plug-ins встроенные определения. Я не верю, что есть какая-либо официальная документация для этого формата, но это не так сложно найти, рассмотрев примеры.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top