em um projeto XCode, eu costumava ter o arquivo xcodeproject / project.pbxproj alterado, mas informações inúteis para mim, para compilar.
Devo ignorar este arquivo e o arquivo xcodeproject / projectxworkspace / username.xcuserdata / UserInterfaceState.xcuserstate?
Respostas:
Atualizar à luz do Swift Package Manager: Se você está construindo um projeto como um pacote Swift - você definitivamente deve ignorar este arquivo, pois ele pode ser gerado usando o sistema de arquivos como fonte de verdade. Você pode fazer isso usando o seguinte comando:
Para resposta não SwiftPM - veja abaixo.
Este arquivo contém a lista de todos os arquivos no projeto, configurações de destinos e quais arquivos pertencem a quais destinos. É provavelmente o arquivo mais pesado do pacote do projeto. Você não deve ignorar este arquivo. Existem alguns pontos para isso:
fonte
Esse é o único arquivo que você deseja em seus repositórios do pacote xcodeproj. Esse arquivo contém todas as informações para arquivos de destino e configurações de compilação.
fonte
Infelizmente, se suas configurações de compilação incluem assinatura de código, você deve inserir novamente sua entidade de assinatura de código após cada "git pull" se outro membro da equipe a tiver alterado. Parece-me que esta informação deve estar nas configurações do usuário, não no arquivo pbxproj global.
fonte
Se você excluir project.pbxproj, as compilações do Jenkins falharão. Portanto, isso é importante se você usar o Jenkins.
fonte
Descobri que também preciso preservar o (s) arquivo (s) xcworkspace. Se não, projeto com um subprojeto quebrado.
fonte
Você pode usar o Xcodegen para gerar um pbxproj a partir de um arquivo de especificação de projeto YAML, então você pode ignorar o pbxproj no git e gerá-lo sempre que precisar.
Já usei o Xcodegen em um segundo projeto que tem uma arquitetura modular (muitos pbxprojs) e mais de 8 desenvolvedores estão trabalhando nisso.
https://github.com/yonaskolb/XcodeGen
Espero que ajude.
fonte
Aqui está meu general
.gitignore
para meu projeto Xcode.fonte