如何在 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 中,所有派生数据都会被自动清理。如果你想手工做,从Preferences
到Locations
标签,找到项目的派生数据文件夹,删除与项目相关的文件。
在 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 中删除派生数据?的主要内容,如果未能解决你的问题,请参考以下文章