Что делает этот файл и насколько важно его "правильно"?
Я видел, как люди пишут скрипты, чтобы просто слить любые изменения, связанные с ним, и я слышал другие, каждый раз объединяющий его вручную.
Каков правильный способ справиться с этим и почему?
Что делает этот файл и насколько важно его "правильно"?
Я видел, как люди пишут скрипты, чтобы просто слить любые изменения, связанные с ним, и я слышал другие, каждый раз объединяющий его вручную.
Каков правильный способ справиться с этим и почему?
Project.pbxproj содержит все метаданные о вашем проекте, которые Xcode использует для его создания; настройки, ссылки на файлы, конфигурацию, целевые платформы и т.д.
т.е. это критически важно.
На самом деле для этого нет отличного ответа. Как правило, команды избегают конфликтов, ограничивая редактирование проекта одним членом команды за раз.
Команда Xcode приложила немало усилий для создания дружественного файла. При управлении несколькими крупными проектами через svn я обычно обнаружил, что слияния являются автоматическими и безболезненными.
Пока это не так. И когда их нет, верните, смените изменения вручную (т.е. Внесите изменения в проект, которые конфликтуют) и продолжайте.
Попробуйте мой script xUnique. Что он делает:
project.pbxproj в формат JSONobjects в JSON и дать каждому UUID абсолютный путь и создать новый UUID с использованием MD5 hex digest пути
children, files, PBXFileReference и PBXBuildFile список и удалите все дублированные записи в этих списках
sort_pbxproj метод в xUnique.py, если вы хотите знать реализацию;sort-Xcode-project-file с некоторыми отличиями в упорядочении PBXFileReference и PBXBuildFile