Swift 3 / Xcode 8 升级 - 工作副本错误导致 100 个 DerivedData 文件丢失

2024-04-30

我刚刚升级到 XCode 和 Swift 的最新 Beta 版本,但使用转换器后,我的应用程序项目现在有超过 200 个构建时黄色错误,所有错误均指出 /"projectDirectoy"/DerivedData/XXXXXXXXX/XXXX/XXX/xXXX/xXX 缺失工作副本...其中 XXXXX 代表 DerivedData 文件夹中的各种文件路径。

我尝试从错误中提到的位置删除 DerivedData 文件夹。

我尝试删除 ~/Library/ 中 DerivedData 文件夹中的所有内容。

我已多次尝试清理项目、重新启动并进行全新构建。

我尝试过在首选项中关闭源代码控制,但我不明白为什么我应该关闭它,因为它在更新之前已打开,所以我希望它保持打开状态。

这些错误似乎不会消失。

有任何想法吗?


更新到 Xcode 8 GM 后,我遇到了相同的警告,超过 350 个。其中大多数位于资产目录中的 .swift 文件和图像。

这基本上是一个源代码控制问题,似乎主要出现在您移动/删除项目文件时。这些要么是新警告,要么 Xcode 8 对源代码控制比 Xcode 7 更加严格。

在谷歌搜索后,我找到了一些答案,但它们对我来说似乎很复杂,例如使用命令行,甚至建议关闭并重新打开源代码控制。

这是对我所有项目都有效的方法。

短路

首先尝试这个,如果它不起作用,那么就走很长的路

1)转到“源代码管理”菜单(窗口和帮助旁边的顶部菜单),然后单击“刷新状态”

2)再次转到“源代码管理”菜单并单击“提交”

3)提交窗口应该打开,其中包含 Xcode 认为必要的所有提交。因此,只需在文本字段框中输入提交并按提交按钮即可。

重复步骤 1-3,直到打开提交菜单时 Xcode 不再选择任何项目。在 Xcode 自动选择的所有项目都已提交之前,请勿转到步骤 4,否则在执行步骤 4 时可能会出现错误。

4)再次打开提交窗口,如步骤 3 中所述,Xcode 不应再选择任何项目。但是,您仍然应该在左侧边栏中看到一些导致警告消息的项目。

右键单击一个项目并按全选,在文本字段中输入提交,然后按提交按钮。一切都应该完成,并且警告/错误应该消失(可以选择再次按 CommitMenu->Refresh Status)。

如果未完成,请关闭/重新打开 Xcode,然后重做步骤 1-4。

如果这也不起作用,那么长路应该修复它。

Long Way

如果您使用源代码管理并定期进行提交,则可以选择执行步骤 1,然后您应该能够直接进入步骤 11。

1)清理 xCode 派生数据(可选)

您通常不必执行此操作,因此第一次尝试时请跳过此步骤并转到步骤 3。

转到 Xcode 首选项,单击“位置”选项卡,然后转到高级。单击高级按钮旁边的小箭头,打开派生文件夹的路径。完全关闭 Xcode,然后删除该派生文件夹中的所有内容。

正如成员 Krivvenz 在他的回答中善意地指出的那样,您可能必须选择这样做。我不必亲自执行此操作,因此也许可以跳过此操作,仅在不起作用时才尝试。

“我还必须将 DerivedData 选项从相对于 Custom 的选项更改为 Custom,可以在 Xcode > Preferences > Locations Tab 中找到。”

2)重新启动 Xcode 项目并等待索引完成。这可能需要几分钟的时间,因为您刚刚删除了派生数据。

3)转到“源代码管理”菜单(窗口和帮助旁边的顶部菜单),然后单击“刷新状态”

4)再次转到“源代码管理”菜单并单击“提交”

5)提交窗口应该打开,其中包含 Xcode 认为必要的所有提交。我有超过 250 个,因为我以前从未使用过源代码管理。

6)点击右下角的提交更改

7)我收到错误并且操作未完成(如果它适合您,请转到 11)

8)转到源代码管理菜单并单击刷新状态

9)转到源代码管理并单击提交

10)单击右下角的提交更改。这次它建议减少大约 30 次提交,并且我没有收到任何错误。如果您在第二次尝试时仍然遇到错误,请尝试完全关闭 Xcode,然后重新打开它并重复此步骤。

11)转到源代码管理菜单并单击刷新状态

12)转到源代码控制菜单并单击提交

13)这次 Xcode 应该不会建议进行任何更改,但您仍然会在左侧的提交菜单中看到很多文件(未勾选)。正是这些文件引发了工作副本警告,这些警告也应该仍然存在。

14)在提交菜单的左侧栏中选择这些文件中的每一个。 您可以右键单击并按全选

15)点击右下角的提交更改

16)我收到错误并且操作未完成。所以我又试了一次,还是出现同样的错误,所以我关闭了提交菜单。如果它为你完成那也很好。

17)转到源代码管理菜单并单击刷新状态

所有警告都消失了。

18)完全关闭您的项目和 Xcode

19)再次打开您的项目

20)转到源代码管理菜单并单击刷新状态

21)转到源代码管理菜单并单击提交

22)我突然又收到了超过 150 次提交的建议。确保选择所有建议,然后单击“提交”,它应该完成且不会出现错误。

23)清理您的项目(产品->清理)

24)转到源代码管理菜单并单击提交。不需要进行任何更改,左侧边栏中也不应该有任何文件。

毕竟,我没有更多的警告,不需要删除源代码控制,一切都恢复正常。

如果将来您遇到更多错误,比如说因为您再次移动了文件,而不仅仅是再次提交,确保选择了所有内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift 3 / Xcode 8 升级 - 工作副本错误导致 100 个 DerivedData 文件丢失 的相关文章

  • 使 iOS 应用程序与 iPhone 6 和 iPhone 6 尺寸兼容 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我创建了一个应用程序 其中使用 xib 进行布局 目前我使用两种不同的 xib 一种用于iPhone4 320 480 一种用于iPh
  • SwiftUI:动态“列表”中的“切换”在重用时会破坏其布局?

    我试图展现一种动态List行包含Toggle元素 这Toggle最初布局正确 但是当它们滚动进和滚出视图时 即单元格重用时 它们的布局会中断 最小示例代码 import SwiftUI struct SwitchList View var
  • 对于使用 CCCrypt() 的 AES128,密钥可以长于 128 位吗?

    我正在使用CCCrypt https developer apple com library archive documentation System Conceptual ManPages iPhoneOS man3 CCCrypt 3c
  • Xcode 错误 - 架构 x86_64 的未定义符号?

    我正在运行 Swift 4 和 Xcode 9 beta 我收到此错误 但我不知道如何解决它 我什至不知道这是什么意思 Undefined symbols for architecture x86 64 T0So22AVCapturePho
  • UITableView 快速获取 titleForHeadersInSection

    我想在 UITableView 的部分中设置标题的标题 语法是什么swift设置该部分中标题的标题 func tableView tableView UITableView titleForHeaderInSection section I
  • 为什么 UITableViewCell 不可访问(对于 VoiceOver)

    我并不是想解决任何问题 当然你可以设置isAccessibilityEnabled true它有效 我的问题是 为什么它默认关闭并且界面生成器中没有适当的部分 在我看来 不建议使 UITableViewCell 子类可访问 有没有更好的方法
  • 如何右对齐 UILabel?

    Remark 实施 myLabel textAlignment right does not解决了我的问题 这不是我所要求的 我想要实现的是让标签对齐右对齐 为了更清楚地说明 这就是如何left对齐外观 就是这样justify对齐外观 if
  • 将自定义图像设置为 UIBarButtonItem 但它不显示任何图像

    我想将自定义图像设置为 UIBarButtonItem 但它只显示周围的矩形框并且不显示实际图像 func setupBrowserToolbar let browser UIToolbar frame CGRect x 0 y 20 wi
  • 为 iOS 应用程序加载基于 SVG 的图像资源

    我从 thenounproject 购买了一个图标作为 SVG 图像 然后我使用一个名为的 macOS 程序Gapplin http gapplin wolfrosch com 将此 SVG 导出为 PNG 图像 它显示为 100x100
  • 使用 AVFoundation 裁剪 AVAsset 视频

    我在用AVCaptureMovieFileOutput录制一些视频 我使用显示预览层AVLayerVideoGravityResizeAspectFill稍微放大 我遇到的问题是最终的视频较大 包含预览期间不适合屏幕的额外图像 这是预览和生
  • 从 iOS 13 开始安排 iOS 后台任务

    我正在实现用于更新数据的BackgroundTasks 框架 但我遇到了以下问题 无法计划刷新App 错误域 BGTaskSchedulerErrorDomain代码 1 空 无法安排数据提取 Error Domain BGTaskSche
  • 以编程方式从底部裁剪图像

    我正在开发自定义相机应用程序 一切进展顺利 但我在从底部裁剪图像时遇到了问题 即 裁剪后的图像与原始图像具有完全相同的宽度 但高度将为原始图像的 1 3 并且必须从底部开始 斯威夫特3解决方案 func cropBottomImage im
  • 沙盒尝试恢复消耗性 IAP

    我一直在尝试在 iOS 上测试一些消耗性 IAP 但遇到了一个奇怪的错误 弹出一条警报 其中包含以下文本 此应用内购买已被购买 它将恢复为 自由的 环境 沙盒 我已经检查过 并且确定我的 IAP 可以在 iTunesConnect 中使用
  • UITableView 滑动删除 iOS 上的手势冲突

    我的手势识别器有问题 我的目标是在表视图中实现使用滑动删除 但我认为其他手势是相互冲突的 我正在使用这个库romonthego REFrostedViewController https github com romaonthego REF
  • 可以获取位置,但无法获取航向

    我目前只使用模拟器 但我在 iOS 模拟器上快速使用 CoreLocation 时遇到问题 我得到此代码打印的位置更新 但从未得到标题 我不想当然 我正在尝试制作一个指南针类型的应用程序 它将显示目标的方位 class CompassVie
  • 在视图之间传递核心数据实体变量

    我无法理解如何在视图之间使用核心数据实体变量 为了更好地理解我的问题是什么 我的代码如下 View A 基本上 您必须将完整预算实体或相关预算实体的 ID 从视图 A 传递到视图 B 由于不知道您的应用程序的视图层次结构和逻辑 我假设您选择
  • iOS 防止计时器 UILabel 在数字变化时“晃动”

    我有一个UILabel它以以下格式显示计时器的输出MM ss SS 分 秒 厘秒 但是随着厘秒宽度的变化 它从左向右 摇动 例如 11 比 33 窄 有什么办法可以减轻这种情况吗 我尝试过将其居中 给它固定的宽度 但它们似乎没有帮助 从iO
  • XCode 4.5 给我“SenTestingKit/SenTestKit.h”文件未找到,但适用于 4.4.1

    我刚刚安装了 XCode 4 5 它在我现有的项目之一上给了我一个 SenTestingKit SenTestingKit h 文件未找到错误 此错误仅发生在 XCode 4 5 中 但它在 4 4 1 上编译正常 我已经检查过SenTes
  • 将 UIButton 中的图像缩放到 AspectFit?

    我想将图像添加到 UIButton 并且还想缩放图像以适合 UIButton 使图像变小 请告诉我该怎么做 这是我尝试过的 但它不起作用 将图像添加到按钮并使用setContentMode self itemImageButton setI
  • 设置/覆盖 UICollectionView 中单元格之间的填充

    我有一个 UICollectionView 但在获取单元格之间的填充时遇到了问题 理论上 我应该能够将屏幕除以 4 并且我可以获得包含 4 个图像的单元格大小 完美地占据屏幕宽度 但是 它选择不这样做 相反 它会创建 3 个具有巨大填充的图

随机推荐

  • 如何在 Swift 中使用 UILocalNotification

    我正在尝试弄清楚如何快速设置 UILocalNotification 但我运气不佳 我正在尝试这个 var notification UILocalNotification notification timeZone NSTimeZone
  • 本地化 html 文档(事后看来)

    我正在用 PHP 构建一个 Web 应用程序 我已经决定 在整个过程中 以不同的语言提供该应用程序 我的问题是这样的 我不想费力地浏览模板文件中的所有 HTMl 代码来查找需要用动态生成的 lang 变量替换的 单词 有没有一个工具可以突出
  • 我可以在 Azure Pipelines 中对变量进行子字符串化吗?

    我正在寻找一种方法来定义我的变量azure pipelines yml我可以在其中子串的文件 Build SourceVersion gt 仅使用前 7 个字符 文档中似乎没有可以执行此类字符串操作的内置函数 我有什么遗漏的吗 我的另一种方
  • 具有 OpenGL ES 3.1 上下文的 GLSurfaceView

    我正在使用 OpenGL 开发 Android 我知道如何使用GLSurfaceView及其自定义派生类 使用以下方法创建 OpenGL ES 2 0 上下文GLSurfaceView setEGLContextClientVersion
  • AngularJS - 将外部 html 文件包含到模态中

    我正在使用 AngularJS 并且有一个 html 页面 其中包含多个引导模式 这个 html 文件由于包含了所有这些模态而变得有点繁重 是否可以在不失去范围的情况下将外部 html 文件包含到这些模态中 如果您使用 Angular UI
  • TYPO3:如何将页面内容插入模板

    我有一些内容想要出现在 TYPO3 网站的多个页面上 我可以将其插入模板中 但我还希望该内容可以在富文本编辑器中编辑 所以我有了创建隐藏页面的想法 但我不知道如何将此内容插入到模板中 是否需要select打字稿声明 另外 作为后续问题 我可
  • 使用 System.Diagnostics 进行简单调试和日志记录

    我希望能够将条目写入控制台应用程序 该应用程序将描述操作何时完成 可能会在某一时刻将它们写入 txt 文件 我希望它与同时运行的单独 GUI 应用程序一起使用 这样我就可以使用该应用程序并同时监视日志 我只假设诊断类是正确的工具 但是我以前
  • Parsley 自定义验证器不适用于 JavaScript 安装

    我有最简单的形式和最简单的自定义验证器 但它不起作用 请参阅http jsfiddle net M55M4 http jsfiddle net M55M4 怎么了
  • Joda Time 持续时间或间隔中的分钟数

    我有这个简单的代码 DateTime date new DateTime dateValue DateTime currentDate new DateTime System currentTimeMillis System out pri
  • 在Vim中,如何删除单词的后缀?

    在vim中 在正常模式下 如果光标位于单词中 而不是最后一个字母 de从光标位置删除单词的后缀 如果光标位于最后一个字母上 x也这样做 同时de会跳到下一个单词的末尾 您将使用什么命令在这两种情况下都有效 无论最后一个字母与否 目的是将命令
  • 如何设置带有选项卡的多个滑动视图的默认选项卡?

    我真的被困住了 我在主要活动中使用选项卡进行了四个滑动视图 但我想要的是当用户打开应用程序时 它会自动显示第二个选项卡而不是第一个选项卡 这是我的 MainActivity java public class MainActivity ex
  • Three.js 光线投射器可以与组相交吗?

    我想知道我的光线投射器是否正在查看我已加载的 OBJ 由于从 Cinema4D 导出的方式 我相信 OBJ 是一个具有 3 个子级的 THREE Group 而不是 THREE Object 我可以更改我的 raycaster 代码行来查找
  • 发送同一条短信两次

    我正在尝试制作一个短信Android应用程序 但我收到了一个我以前从未见过的错误 即使在谷歌中我也没有找到类似的东西 所以 如果你能帮助我 我会很高兴 由于某种原因 程序同时发送两条消息 同一条短信 但这只是发生在生产中 当我使用模拟器时
  • Android Studio 无法下载并附加某些库的源代码

    就我而言 是这样的源代码是这样的 https i stack imgur com Xuo0X png 然后 我单击 下载源 但看到此错误 error https i stack imgur com 26R68 png java util N
  • 当 max-height 固定时 CSS 自动列计数

    我希望实现一个布局 其中一个元素 在我的例子中是一个 ul 当高度达到一定限制时扩展到 2 或更多 列 例如 如果高度仅够容纳 3 个项目 而我有 5 个项目 则第 4 和第 5 个项目将转到第二列 该列仅在需要时创建 我尝试通过设置来做到
  • VS Code Python autopep8 不支持 2 个空格悬挂缩进

    我正在尝试让 autopep8 正常工作 以 2 个空格而不是 4 个空格正确缩进 Python 代码 我正在使用带有 Python 扩展的 VS Code 该扩展使用 autopep8 进行格式化 我发现here https stacko
  • 如何在 Laravel 中基于迁移文件制作模型

    我已经创建了一个迁移 我想根据迁移文件制作一个模型 这可能吗 如果是这样 该怎么办 这是不可能的 到目前为止 您最多可以通过运行以下命令同时创建迁移和模型 php artisan make model ModelName m
  • Python 3D 插值加速

    我有以下用于插入 3D 体积数据的代码 Y X Z np shape volume xs np arange 0 X ys np arange 0 Y zs np arange 0 Z points list zip np ravel re
  • PHP 警告:在 php 7.3 中使用 password_hash() 时使用未定义的常量 PASSWORD_ARGON2ID

    我最近通过 Plesk 的 Web GUI 安装了 PHP 7 3 6 用于 Web 应用程序的开发副本 因为我打算将生产环境从 php 7 0 更新到 7 3 我决定借此机会将密码哈希从 PBKDF2 升级到 Argon2ID 因为 PH
  • Swift 3 / Xcode 8 升级 - 工作副本错误导致 100 个 DerivedData 文件丢失

    我刚刚升级到 XCode 和 Swift 的最新 Beta 版本 但使用转换器后 我的应用程序项目现在有超过 200 个构建时黄色错误 所有错误均指出 projectDirectoy DerivedData XXXXXXXXX XXXX X