dans un projet XCode, j'ai souvent changé le fichier xcodeproject / project.pbxproj, mais des informations inutiles pour moi, pour la compilation.
Dois-je git ignorer ce fichier et le fichier xcodeproject / projectxworkspace / username.xcuserdata / UserInterfaceState.xcuserstate?
Réponses:
Mise à jour à la lumière de Swift Package Manager: Si vous construisez un projet en tant que package Swift, vous devez absolument ignorer ce fichier car il peut être généré en utilisant le système de fichiers comme source de vérité. Vous pouvez le faire en utilisant la commande suivante:
Pour une réponse non-SwiftPM - voir ci-dessous.
Ce fichier contient la liste de tous les fichiers du projet, les paramètres des cibles et quels fichiers appartiennent à quelles cibles. C'est probablement le fichier le plus volumineux du bundle de projets. Vous ne devez pas ignorer ce fichier. Il y a quelques points pour cela:
la source
C'est le seul fichier que vous souhaitez dans vos dépôts du bundle xcodeproj. Ce fichier contient toutes les informations sur les fichiers cibles et les paramètres de construction.
la source
Malheureusement, si vos paramètres de build incluent la signature de code, vous devez saisir à nouveau votre entité de signature de code après chaque "git pull" si un autre membre de l'équipe l'a modifiée. Il me semble que cette information devrait être dans les paramètres utilisateur, pas dans le fichier global pbxproj.
la source
Si vous excluez project.pbxproj, les builds Jenkins échoueront. C'est donc important si vous utilisez Jenkins.
la source
J'ai constaté que je devais également conserver le (s) fichier (s) xcworkspace. Sinon, le projet avec un sous-projet est tombé en panne.
la source
Vous pouvez utiliser Xcodegen pour générer un pbxproj à partir d'un fichier de spécification de projet YAML, puis vous pouvez ignorer pbxproj dans git et les générer à chaque fois que vous en avez besoin.
J'ai déjà utilisé Xcodegen sur un deuxième projet qui a une architecture modulaire (beaucoup de pbxprojs) et plus de 8 développeurs y travaillent.
https://github.com/yonaskolb/XcodeGen
J'espère que ça aide.
la source
Voici mon général
.gitignore
pour mon projet Xcode.la source