в проекте XCode, я получил файл xcodeproject/project.pbxproj, но бесполезную информацию для меня, он для компиляции.
Должен ли я git игнорировать этот файл и файл xcodeproject/projectxworkspace/username.xcuserdata/UserInterfaceState.xcuserstate?
в проекте XCode, я получил файл xcodeproject/project.pbxproj, но бесполезную информацию для меня, он для компиляции.
Должен ли я git игнорировать этот файл и файл xcodeproject/projectxworkspace/username.xcuserdata/UserInterfaceState.xcuserstate?
Обновление в свете диспетчера пакетов Swift: если вы создаете проект как пакет Swift - вы должны обязательно игнорировать этот файл, поскольку он может быть создан с использованием файловой системы в качестве источника правды. Вы можете сделать это с помощью следующей команды:
$ cd ~/Projects/MyProjectFolder/
$ swift package generate-xcodeproj
Для ответа не SwiftPM - см. Ниже.
Этот файл содержит список всех файлов в проекте, настройки целей и какие файлы принадлежат к каким целям. Это, пожалуй, самый простой файл в комплекте проекта. Вы не должны игнорировать этот файл. Есть несколько моментов для этого:
Это единственный файл, который вы хотите получить в своих репозиториях из пакета xcodeproj. Этот файл содержит всю информацию для файлов целей и настроек сборки.
Если вы исключите project.pbxproj, сборки Jenkins не удастся. Поэтому это важно, если вы используете Jenkins.
К сожалению, если ваши настройки сборки включают подписание кода, вы должны повторно ввести свой объект подписи кода после каждого "git pull", если другой член команды изменил его. Мне кажется, эта информация должна быть в пользовательских настройках, а не в глобальном файле pbxproj.
Я обнаружил, что мне также необходимо сохранить файлы xcworkspace. Если этого не произошло, проект с подпроектом сломался.
Вы можете использовать Xcodegen для генерации pbxproj из файла спецификации проекта YAML, тогда вы можете игнорировать pbxproj в git и генерировать их каждый раз, когда вам нужно.
Я уже использовал Xcodegen для второго проекта, который имеет модульную архитектуру (много pbxprojs), и над ним работают более 8 разработчиков.
https://github.com/yonaskolb/XcodeGen
Надеюсь, поможет.