【问题标题】:Xcode DerivedData directory keeps returning after deletionXcode DerivedData 目录删除后不断返回
【发布时间】:2018-07-23 12:10:13
【问题描述】:

无论我尝试使用多少种不同的方式删除它,DerivedData 都会不断返回到我的项目中。这会导致编译错误。

我相信这与我删除了我的 Core Data 模型类和扩展有关(我意识到我需要添加一个额外的属性,这似乎比迁移更容易,因为我还没有真正实现它)。我删除了这些文件并删除了对这些文件的引用,但这似乎没有奏效。这是我收到的错误:

我试过了:

-清洁
-清理构建文件夹
-重置模拟器内容和设置
- 使用“git rm -rf --cached”删除 DerivedData 文件夹。
- 使用 Finder、Xcode 和终端删除 DerivedData 文件夹
- 删除模块缓存
- 删除 Xcode 首选项(默认删除 com.apple.dt.Xcode)
- 以上所有与退出 Xcode 和/或重新启动我的计算机相结合
- 遵循关于 SO 的以下线程中的所有建议:

Xcode 6 Swift code completion not working

How can I delete derived data in Xcode 8?

Xcode keeps remaking derived data folder after I delete it

https://forums.developer.apple.com/thread/81265

https://iosdevcenters.blogspot.com/2015/12/how-to-delete-derived-data-and-clean.html

为了这一切的乐趣,当我尝试运行项目时,我在 Finder 中打开了我的项目文件夹,并且在我按下播放按钮时可以看到正在创建的 DerivedData 文件夹。好时光。

这是我在 Xcode 中构建/编译设置的视图,表明我没有将这些文件列出两次:

我该如何解决这个问题?

【问题讨论】:

    标签: ios xcode git core-data


    【解决方案1】:

    您不能阻止 Xcode 为您的项目生成派生数据。无论您删除文件夹多少次,它都会重新生成。

    过去我遇到过类似的问题,编译时错误指向派生数据,但其他原因导致了问题。

    从外观上看,您的一些文件在您的项目中被包含两次,并且您的名称冲突。检查您在构建捆绑/编译资源的设置中没有重复项。

    【讨论】:

    • 我在“构建设置”下找不到任何适合“捆绑/编译”的设置。在查看“构建阶段”时,我看到所有必要的文件并位于其预期位置。我已经用一张图片更新了我原来的问题。您还有其他建议吗?
    【解决方案2】:

    该错误表明您已打开 Core Data 代码生成,并且在您的源代码存储库中还具有生成代码的副本(或至少一个同名文件)。这就是为什么它抱怨重复。一个位于您的Model 文件夹中,生成的副本位于派生数据中。

    您可以通过以下任一方式解决此问题

    • 更改数据模型中的设置以使 Core Data 不再为此实体生成代码,或者
    • 删除您的副本并让 Core Data 完成它的工作。

    两者都是有效的并且应该可以工作。或者,如果文件实际上在某些有意义的方面有所不同,请重命名您的文件,以免名称冲突。

    在相关的说明中,派生的数据文件夹总是会返回,因为 Xcode 将在编译项目时生成的所有内容都放在那里。它不仅是生成的源代码,还包括编译的目标代码文件以及最终的应用程序本身。它回来了,因为这就是 Xcode 编译项目的方式。

    【讨论】:

    • 我可以毫无问题地更改 XCode 创建的 NSManagedObject 子类的名称吗?从我被教​​导的原因来看,我不应该特别触摸扩展文件,因为它会搞砸我的模型。当然,如果可行,只需更改这两个文件的名称将是最简单的。从清洁的角度来看,最初的名称文件呢?看来我再怎么努力也摆脱不了他们……我应该忘记他们吗?
    • 托管对象的类名不必与实体名相同。您可以在模型编辑器中进行配置。
    • 我通过更改我的 Core Data 类和扩展名以及将 CodeGen 设置为 Manual/None 来解决此问题。谢谢。
    猜你喜欢
    • 2011-11-08
    • 2015-03-03
    • 2011-10-20
    • 2022-09-27
    • 2016-01-23
    • 1970-01-01
    • 2010-10-13
    • 2017-05-18
    • 2020-03-14
    相关资源
    最近更新 更多