如何在 Xcode 8 中删除派生数据?

Posted

技术标签:

【中文标题】如何在 Xcode 8 中删除派生数据?【英文标题】:How can I delete derived data in Xcode 8? 【发布时间】:2016-10-27 05:38:57 【问题描述】:

项目页面似乎从 Xcode 8 中消失了。我使用此页面删除派生数据。

知道如何从 Xcode 8 中删除派生数据吗?

【问题讨论】:

如果您经常使用 Xcode,请下载 Mac 版 WatchDog - 自动执行该过程。 【参考方案1】:

(在 Xcode 11 和 12 中工作)

如果您在工作区环境中,您可以转到File > Workspace Settings 或在常规项目环境中转到File > Project Settings

然后单击Derived data 部分下的灰色小箭头并选择您的项目文件夹以将其删除。

【讨论】:

File > Playground Settings 如果你在游乐场 对于 xCode 13 也可以。谢谢!【参考方案2】:

最简单最快的方法如下(如果您没有更改 DerivedData 的默认文件夹)。

打开终端并通过以下内容:

rm -rf ~/Library/Developer/Xcode/DerivedData

【讨论】:

作为一个额外的有益选项,您还可以通过运行以下命令(一旦您退出运行任何模拟器)xcrun simctl erase all 来删除所有模拟器上的所有应用构建。这显然不会清除与派生数据相同的东西,但如果您想释放空间,这是另一个不错的选择,因为两者都占用了旧应用程序构建的相当多的时间。 您也可以将其设为终端快捷方式。见here 但这也会删除文件夹本身!这不是问题吗? @DanielSpringer 删除文件夹本身不是问题,Xcode会自己重新创建。 如果权限被拒绝在 mac 中使用 sudo【参考方案3】:

这个问题有很多不同的解决方案。他们中的大多数也可以工作。 似乎还添加了另一个快捷方式:

Shift + alt + command ⌘ + K

会要求您:

确定要清理“MyProject”的构建文件夹吗?

这将删除构建文件夹中的所有产品和中间文件。

在大多数情况下,这足以解决您的问题。

更新

从 Xcode 9 开始,您将能够通过导航到

来访问 Derived Data 文件夹

文件 -> 项目设置

或者如果您使用工作区:

文件 -> 工作区设置

然后按路径后面的箭头:

【讨论】:

按箭头后,别忘了先退出XCode,然后从finder中删除该文件夹【参考方案4】:

在 Xcode 8 中,所有派生数据都会被自动清理。如果你想手工做,从PreferencesLocations标签,找到项目的派生数据文件夹,删除与项目相关的文件。

在 macOS 10.12 及更高版本中,Xcode 会清理陈旧的派生数据, 预编译的头文件和模块缓存。 (23282174)

Xcode 8.0 Release Notes

感谢@charmingToad

但据我观察,在 OS X 10.11.5/6 上使用 Xcode 8 时,同样的行为很常见

【讨论】:

你有参考这里指定的地方吗? 有官方消息证实这是自动清洗的吗? 什么时候自动清洗? Xcode 8 发行说明说“在 macOS 10.12 及更高版本中,Xcode 会清理过时的派生数据、预编译头文件和模块缓存。”我不确定派生数据被认为是“陈旧”的频率……developer.apple.com/library/content/releasenotes/DeveloperTools/… @dmzza 说实话,Apple 没有解释它什么时候这样做。【参考方案5】:

转到 Xcode -> Project Settings

您可以找到前往派生数据的方法

【讨论】:

在这个答案中添加更多的文本/上下文......这应该是选择的。添加屏幕截图总是一个巨大的优势。 请注意,如果您使用的是 .xcworkspace 文件而不是 .xcproject 文件,它将显示“工作区设置”。让我措手不及 点击箭头后退出XCode,然后从finder中删除文件夹 很好解释。 @纳齐克 如果没有这些备注,此解决方案将不起作用,请将它们添加到您的答案中【参考方案6】:

方法一:

关闭 Xcode

打开终端并输入此命令

rm -rf ~/Library/Developer/Xcode/DerivedData

方法二:

点击 Xcode 菜单 转到首选项 选择位置(如图所示) 点击衍生数据下方的箭头(如图所示)。

它会将您带到派生数据的位置,您可以手动删除它。

【讨论】:

请注意,如果您收到错误消息,指出无法删除派生数据目录的子文件夹,因为它不是空的(即使您使用-rf 运行),您需要退出 XCode 和您的模拟器然后再次尝试清除派生数据【参考方案7】:

手动删除派生数据

如果您想手动删除派生数据,只需运行:

rm -rf ~/Library/Developer/Xcode/DerivedData

如果您想释放更多磁盘空间,您可能还需要清除其他一些目录。

自动删除 Xcode 生成的文件

我创建了一个用于删除 Xcode 生成的各种文件的 Bash 脚本。删除 DerivedData 内容可以通过运行:

./xcode-clean.sh -d

更多信息https://github.com/niklasberglund/xcode-clean.sh

【讨论】:

【参考方案8】:

选择 Xcode 并按照照片中突出显示的 4 个步骤操作并删除派生数据,然后重新启动您的项目。

【讨论】:

【参考方案9】:

在您的终端中:

rm -rf ~/Library/Developer/Xcode/DerivedData

【讨论】:

【参考方案10】:

在最新的 Xcode 版本 12+ 中按照以下步骤,我在这里找到了https://handyopinion.com/solution-failed-to-load-info-plist-from-bundle-at-path-in-xcode/

1.

2.

它将导航到 Derived Data 文件夹,然后您可以删除该文件夹的内容。

【讨论】:

【参考方案11】:

另一种转到派生数据文件夹的方法是右键单击 xcode 中“产品”文件夹下的应用程序,然后单击“在 Finder 中显示”。

【讨论】:

如果您将产品设置为不同的路径,这将不起作用——例如,我将我的产品设置为直接构建到 ~/Applications,但将派生数据保留在默认位置。 【参考方案12】:

使用终端转到项目的根目录,然后粘贴下面提到的行

rm -rf ~/Library/Developer/Xcode/DerivedData

执行后,您可以通过转到 Xcode > Preference > Locations -> 点击箭头显示 ["DeriveData"] 端点来验证。

【讨论】:

你不需要进入项目的根目录,因为该命令使用的是绝对路径。【参考方案13】:

删除 DerivedData 的步骤:

    打开查找器 从菜单中点击Go > Go to Folder 在文本字段中输入 ~/Library/Developer/Xcode/DerivedData 点击Go按钮 您将看到Xcode projects 的文件夹 Delete 项目的文件夹,你不需要。

【讨论】:

【参考方案14】:

我创建了一个 bash 命令。通过 3 个简单的步骤进行配置。然后在终端中输入cleandd https://github.com/Salarsoleimani/Usefulscripts

【讨论】:

【参考方案15】:

不同版本的 xcode 可能会有所不同。最好的方法是去xcode偏好页面,从标签“位置”,直接打开“派生数据”目录。

【讨论】:

【参考方案16】:

Mac App Store 上的 DevCleaner 帮了我大忙!

https://apps.apple.com/gb/app/devcleaner-for-xcode/id1388020431?mt=12

由于 Xcode 的原因,它对于删除其他杂物看起来也很有用。请记住,这是第 3 方应用程序,因此通常会发出信任警告。

【讨论】:

【参考方案17】:

对于 Xcode 8.2 (8C38) 版本,您可以通过以下操作将项目(Xcode 中的项目名称、程序、数据等)完全删除: [注意:说明不只是删除项目欢迎窗口中的名称]

启动 Xocde 并等待显示欢迎窗口。项目将显示在右侧(见下文)Xcode Welcome Window

右击要完全删除的项目,弹出【在文件夹中显示】弹窗;选择它以找出 [Finder] 中的项目在哪里(见下文)Find the project folder

在Finder中右键项目文件夹,通过[Get Info]找到它的路径;使用信息窗口中的路径转到父文件夹,然后转到那里[找到项目文件夹路径](见下文)

右键单击项目文件夹(例如 DemoProject01)和项目文件(DemoProject01.xcodeproj)并选择 [Move to Trash] ;您将看到 (a) finder 中的文件夹已删除,并且 (b) Xcode Welcome Window 的项目列表中的项目已删除。

【讨论】:

这与删除Derived Data文件夹内容无关。

以上是关于如何在 Xcode 8 中删除派生数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xcode 9 中删除派生数据? [复制]

Xcode 8 App安装失败,出现未知错误

如何修复:Xcode 9 构建循环直到退出代码 255

如何解决xcode中的循环依赖错误

xcodecolors 插件的 Xcode5 问题

无法将应用程序部署到 ios 8 设备