github/gitignore · Swift.gitignore

Plantilla .gitignore de Swift explicada

Explica por qué Swift.gitignore ignora xcuserdata, archivos de empaquetado de apps, el .build de Swift Package Manager, las compilaciones de Carthage y los artefactos de fastlane, y los criterios para CocoaPods y Package.resolved.

Abrir en el generador Abrir junto con macOS, Xcode, Objective-C

Swift.gitignore está dirigida a proyectos que crean apps de iOS y macOS con Xcode o desarrollan paquetes con Swift Package Manager. Trata el estado por usuario y los archivos de distribución de Xcode, los resultados de compilación de las herramientas de dependencias (SwiftPM, Carthage, CocoaPods) y los informes de fastlane.

La plantilla tiene muchas reglas opcionales comentadas. Los elementos cuya confirmación depende de la política del equipo, como Pods/, Packages/, Package.resolved y *.xcworkspace, no se ignoran por defecto y la decisión se deja al equipo.

Explicación regla por regla

PatrónQué ignora y por qué
xcuserdata/Estado de Xcode por usuarioLos ajustes que difieren entre desarrolladores, como el esquema elegido, los puntos de interrupción o la disposición de ventanas, se guardan en xcuserdata dentro de .xcodeproj y .xcworkspace. Si se comparten, cada uno sobrescribe continuamente los ajustes de los demás.
*.hmapMapas de cabecerasSon archivos para buscar cabeceras que Xcode crea durante la compilación.
*.ipa*.dSYM.zip*.dSYMEmpaquetado de appsSon los archivos de app para distribución y los archivos de símbolos para analizar fallos. Se crean de nuevo en cada compilación y ocupan mucho. Los dSYM se suben y conservan en el servicio de informes de fallos.
timeline.xctimelineplayground.xcworkspacePlaygroundSon la línea de tiempo y el espacio de trabajo interno que crea Swift Playground al ejecutarse.
.build/Swift Package ManagerEs la carpeta donde swift build guarda las dependencias descargadas y los resultados de compilación. Se recrea en cualquier momento.
Carthage/Build/CarthageSon los frameworks compilados por Carthage. La descarga del código fuente (Carthage/Checkouts) solo figura como comentario para que se elija.
fastlane/report.xmlfastlane/Preview.htmlfastlane/screenshots/**/*.pngfastlane/test_outputfastlaneSon los informes de ejecución y las capturas de pantalla de fastlane. Como dicen los comentarios de la plantilla, se recomienda regenerar las capturas cuando hagan falta.

Precauciones en la práctica

Plantilla original

Swift.gitignore13 líneas de reglas
# Xcode## gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore## User settingsxcuserdata/## Obj-C/Swift specific*.hmap## App packaging*.ipa*.dSYM.zip*.dSYM## Playgroundstimeline.xctimelineplayground.xcworkspace# Swift Package Manager## Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.# Packages/# Package.pins# Package.resolved# *.xcodeproj## Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata# hence it is not needed unless you have added a package configuration file to your project# .swiftpm.build/# CocoaPods## We recommend against adding the Pods directory to your .gitignore. However# you should judge for yourself, the pros and cons are mentioned at:# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control## Pods/## Add this line if you want to avoid checking in source code from the Xcode workspace# *.xcworkspace# Carthage## Add this line if you want to avoid checking in source code from Carthage dependencies.# Carthage/CheckoutsCarthage/Build/# fastlane## It is recommended to not store the screenshots in the git repo.# Instead, use fastlane to re-generate the screenshots whenever they are needed.# For more information about the recommended setup visit:# https://docs.fastlane.tools/best-practices/source-control/#source-controlfastlane/report.xmlfastlane/Preview.htmlfastlane/screenshots/**/*.pngfastlane/test_output

Origen de las plantillas: github/gitignore/Swift.gitignore @356fd7b (2026-09-11) · CC0-1.0

Plantillas que suelen usarse juntas

Otras plantillas explicadas