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

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

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

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

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

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

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

1 Ответ

15 голосов
/ 26 ноября 2008

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

Редактор списка свойств скрывает столбец «Тип» при использовании определения, поскольку он автоматически получает информацию о типе из определения структуры. Вы все еще можете использовать Edit> Value Type, чтобы изменить тип вручную, если хотите. Вы также можете вручную изменить определение, которое использует редактор списка свойств, через «Вид»> «Тип списка свойств».

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...