如何从 Time Machine 中排除 Xcode 临时文件?

How to exclude temporary Xcode files from Time Machine?

我使用 Xcode 编写了很多代码。我知道 Xcode 在构建时会创建临时文件。这些似乎很大 (GB),我想将它们从 Time Machine 备份中排除。

我怎样才能排除它们?他们位于哪里?位置总是一样吗?

  1. 启动系统偏好设置
  2. Select时光机
  3. 单击选项...
  4. ~/Library/Developer 添加到排除列表
  5. 点击保存

在大多数情况下,通过使用为这些文件夹中的构建相关目录设置的 HFS+/APFS com.apple.metadata:com_apple_backup_excludeItem 扩展属性位,这些项目已从 Time Machine 备份中排除。

举个例子:

mdouma46@MacBookPro15 ~ % ls -l@e ~/Library/Developer/CoreSimulator        
total 0
drwxr-xr-x@  4 mdouma46  staff   128 Mar  6  2021 Caches
    com.apple.metadata:com_apple_backup_excludeItem   61 
drwxr-xr-x  65 mdouma46  staff  2080 Jan  2 10:38 Devices
drwxr-xr-x   3 mdouma46  staff    96 Nov 28  2020 Temp

这表明 CoreSimulator/Caches 目录具有 com.apple.metadata:com_apple_backup_excludeItem 扩展属性集,其中包含以下 XML plist 的二进制 plist 版本:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<string>com.apple.backupd</string>
</plist>

这有效地从 Time Machine 备份中排除了该文件夹和内容。同样,~/Library/Developer/CoreSimulator/Devices 中的目录都具有相同的 com.apple.metadata:com_apple_backup_excludeItem 扩展属性集。 DerivedData 中的大部分内容也被排除在外(保存 Unsaved_Xcode_Documents)。

请注意,~/Library/Developer/Xcode/UserData 包含您的代码片段、自定义键绑定、字体和颜色主题以及您可能想要备份的其他数据。

Apple 非常擅长自动从备份中排除此类内容。

另外值得注意的是,我相信 .nobackup 后缀可以用于目录以防止内容被备份,同样地,.noindex 可以防止内容被 Spotlight 索引.