.gitignore for macOS + Swift + Xcode

Complete .gitignore for macOS Swift/iOS development.

Quick presets

Selected (3)
macOSSwiftXcode
Your selections never leave your browser. Generation happens entirely client-side.
Raw

43 patterns · 785 B

# Generated by DevZone Tools — https://devzone.tools/tools/gitignore-generator
# Templates: macOS, Xcode, Swift
# 2026-04-20

# ---- macOS ----
# macOS
.DS_Store
.AppleDouble
.LSOverride
Icon
._*
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

# ---- Xcode ----
# Xcode
build/
DerivedData/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/
*.moved-aside
*.xccheckout
*.xcscmblueprint
*.hmap
*.ipa
*.dSYM.zip
*.dSYM
timeline.xctimeline
playground.xcworkspace
.build/

# ---- Swift ----
# Swift
/.build
/Packages
/Package.resolved
/*.xcodeproj
.swiftpm

Why use macOS + Swift + Xcode together?

Every iOS and macOS Swift developer works on macOS, making this the canonical combination. .DS_Store files accumulate in every folder opened in Finder, and without the macOS template they silently accumulate in your repo.

Frequently asked questions

Do I need to commit .gitignore?
Yes — .gitignore should be committed to the repository so all collaborators benefit from the same ignore rules.
How do I add custom patterns?
Open your .gitignore file and add the pattern on a new line. Use # for comments, * for wildcards, / to match directories, and ! to un-ignore a previously ignored path.
How do I ignore a file that is already tracked?
Adding a file to .gitignore does not remove it from tracking if it was previously committed. Run: git rm --cached <file> to stop tracking it without deleting the file locally.
Why combine macOS and Swift and Xcode?
Every iOS and macOS Swift developer works on macOS, making this the canonical combination. .DS_Store files accumulate in every folder opened in Finder, and without the macOS template they silently accumulate in your repo.

Looking for something else? Browse all templates →