Библиотека к чтению-записи pbxproj/xcodeproj файлы? [закрытый]

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

23
задан JP Richardson 21 September 2009 в 03:04
поделиться

1 ответ

Поверхностный синтаксис проекта Xcode - это "plist старого стиля". Вы можете легко преобразовать его в список XML с помощью команды

plutil -convert xml1 -o - myproj.xcodeproj/project.pbxproj

. Обратите внимание, что это не «настоящий XML», а структура списка Mac OS X, выраженная в синтаксисе XML; он почти полностью состоит из словарей и массивов пар ключ-значение. Xcode прочитает представление XML, но преобразует его обратно в "список старого стиля" при открытии проекта.

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

Ключ isa идентифицирует каждый тип объекта. PBXProject содержит объекты PBXFileReference, PBXGroup, PBXNativeTarget и PBXBuildConfiguration.

Целевые объекты имеют объекты PBXBuildPhase, которые содержат перекрестные ссылки на ссылки на файлы; BuildConfiguration Списки, в которых хранятся настройки сборки для целей, а также другие параметры цели, такие как тип и имя цели.

buildConfiguration Список перекрестных ссылок buildConfigurations, которые, в свою очередь, содержат словари buildSettings.

Я бы порекомендовал сначала взглянуть на текст plist в старом стиле, так как он гораздо более читабелен и на самом деле содержит встроенные комментарии, чтобы рассказать, что к чему. Затем вы можете использовать инструменты XML для редактирования или записи файлов проекта по своему вкусу.

Целевые объекты имеют объекты PBXBuildPhase, которые содержат перекрестные ссылки на ссылки на файлы; BuildConfiguration Списки, в которых хранятся параметры сборки для целей, а также другие параметры цели, такие как тип и имя цели.

buildConfiguration Содержит перекрестные ссылки buildConfigurations, которые, в свою очередь, содержат словари buildSettings.

Я бы порекомендовал сначала взглянуть на текст plist в старом стиле, так как он гораздо более читабелен и на самом деле содержит встроенные комментарии, чтобы рассказать, что к чему. Затем вы можете использовать инструменты XML для редактирования или записи файлов проекта по своему вкусу.

Целевые объекты имеют объекты PBXBuildPhase, которые содержат перекрестные ссылки на ссылки на файлы; BuildConfiguration Списки, в которых хранятся настройки сборки для целей, а также другие параметры цели, такие как тип и имя цели.

buildConfiguration Список перекрестных ссылок buildConfigurations, которые, в свою очередь, содержат словари buildSettings.

Я бы порекомендовал сначала взглянуть на текст plist в старом стиле, так как он гораздо более читабелен и на самом деле содержит встроенные комментарии, чтобы рассказать, что к чему. Затем вы можете использовать инструменты XML для редактирования или записи файлов проекта по своему вкусу.

которые, в свою очередь, содержат словари buildSettings.

Я бы порекомендовал сначала взглянуть на текст plist в старом стиле, так как он гораздо более читабелен и на самом деле содержит встроенные комментарии, чтобы рассказать, что к чему. Затем вы можете использовать инструменты XML для редактирования или записи файлов проекта по своему вкусу.

которые, в свою очередь, содержат словари buildSettings.

Я бы порекомендовал сначала взглянуть на текст plist в старом стиле, так как он гораздо более читабелен и на самом деле содержит встроенные комментарии, чтобы рассказать, что к чему. Затем вы можете использовать инструменты XML для редактирования или записи файлов проекта по своему вкусу.

29
ответ дан 29 November 2019 в 01:02
поделиться